Codeforces Round #382 (Div. 2) 735B - Urbanization

来源:互联网 发布:网络本科报名时间 编辑:程序博客网 时间:2024/06/04 22:52

http://codeforces.com/problemset/problem/735/B


题意:

输入数组元素个数n,从数组中分别选出n1、n2个数字,分为两组,算出两组平均数的和,求平均数的和的最大值。


代码:

#include <iostream>#include <cstdio>#include <algorithm>using namespace std;int n,a,b;int arr[1000010];double sum1=0;double sum2=0;int main(){    cin>>n>>a>>b;    for(int i=1;i<=n;i++)    {        cin>>arr[i];    }    if(a<b)        a^=b^=a^=b;    sort(arr,arr+n+1);    for(int i=n-b+1;i<=n;i++)    {        sum1+=arr[i];    }    for(int i=n-a-b+1;i<=n-b;i++)    {        sum2+=arr[i];    }    printf("%.8f\n",sum1/b+sum2/a);    return 0;}



0 0
原创粉丝点击