CodeFoeces-735B

题目

原题链接:B. Urbanization

题意

有n个居民,每个人具有自身的财富值,先要分成两座城市,分别有n1和n2人。问怎么分才能让两座城市的平均财富值之和最大。

代码

#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;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 7,139评论 0 9
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,771评论 0 33
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 1,282评论 0 2
  • 今年,在以二字开头的年龄,我遇见了一个人,我们的年龄差在超出了我能接受的范围;我一直觉得在爱情里如果年龄差距太大,...
    葫芦爱吃糖阅读 301评论 0 1
  • 那是一个很大很舒适青旅。公共空间里有来自世界各地的人。还有小吧台,乒乓球台,和一片很大的露台,露台的边上有高脚凳,...
    微澜Grazia阅读 709评论 5 3