CodeForces - 735B Urbanization (贪心)

xiaoxiao2021-02-28  103

CodeForces - 735B   Urbanization

  题意:两个城市,第一个城市去n1个人,第二个城市去n2个人,每个人都有一定的资产,输出两个城市的平均资产最大和     思路:贪心,对人的资产先从大到小排序,假设n1小,就把前n1大的人去第一个城市,就是让资产高的人去容纳人数较小的城市 #include<stdio.h> #include<iostream> #include<algorithm> using namespace std; int a[100100]; bool cmp(int a,int b) { return a>b; } int main(void) { int n,fir,sec; scanf("%d%d%d",&n,&fir,&sec); for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1,cmp); int Min=min(fir,sec); int Max=max(fir,sec); long long suma=0,sumi=0; int k=0; for(int i=1;i<=Min;i++) suma+=a[i]; int i=fir+sec; while(k!=Max) { sumi+=a[i]; k++; i--; } //printf("%d %d\n",suma,sumi); double ans=double(suma)/double(Min)+double(sumi)/double(Max); printf("%lf\n",ans); return 0; }
转载请注明原文地址: https://www.6miu.com/read-70912.html

最新回复(0)