AtCoder Beginner Contest 161 B Popular Vote 快排+整除+模

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;
}
发布了660 篇原创文章 · 获赞 562 · 访问量 48万+

猜你喜欢

转载自blog.csdn.net/mrcrack/article/details/105321940
今日推荐