題目
原題鏈接:B. Urbanization
題意
有n個(gè)居民,每個(gè)人具有自身的財(cái)富值,先要分成兩座城市躁染,分別有n1和n2人。問怎么分才能讓兩座城市的平均財(cái)富值之和最大架忌。
代碼
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,n1,n2,s[100000];
cin>>n>>n1>>n2;
for(int i=0;i<n;i++){
cin>>s[i];
}
sort(s,s+n);
double sum1=0,sum2=0;
int i=n-1,maxx=max(n1,n2),minn=min(n1,n2);
while(minn--){
sum1+=s[i--];
}
while(maxx--){
sum2+=s[i--];
}
maxx=max(n1,n2),minn=min(n1,n2);
printf("%.8lf\n",sum1/(minn*1.0)+sum2/(maxx*1.0));
return 0;
}