AtCoder Beginner Contest 161 比赛人数9927 快,比赛开始后5分钟看到所有题
AtCoder Beginner Contest 161 B Popular Vote 快排+整除+模
总目录详见https://blog.csdn.net/mrcrack/article/details/104454762
在线测评地址https://atcoder.jp/contests/abc161/tasks/abc161_b
题意:
M代表可选数量,若M个都满足约束条件,输出Yes,否则,输出No.
基本思路:
按选票数量自大到小排序,排序后,选出第M个的票数,看是否满足约束条件。
需要注意的是,除4M时,要考虑,整除,不能整除,两种情况。
#include <cstdio>
#include <algorithm>
using namespace std;
int a[110];
int cmp(int a,int b){
return a>b;
}
int main(){
int n,m,i,b=0,c;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)scanf("%d",&a[i]),b+=a[i];
sort(a+1,a+1+n,cmp);
c=4*m;
if(b%c==0)b/=c;
else b=b/c+1;
if(a[m]>=b)printf("Yes\n");
else printf("No\n");
return 0;
}