fzu 2139 久违的月赛之二
生活随笔
收集整理的这篇文章主要介绍了
fzu 2139 久违的月赛之二
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Problem 2139 久违的月赛之二 Accept: 42 Submit: 106
Accept: 42 Submit: 106
Time Limit: 1000 mSec Memory Limit : 32768 KB
Problem Description
好久没举办月赛了,这次lqw又给大家出了5道题,因为hsy学长宣传的很到位,吸引了n个DDMM们来做,另一位kk学长说,全做对的要给金奖,做对4题要给银奖,做对3题要给铜奖。统计数据的时候,发现每题分别在n个人中有n1、n2、n3、n4、n5个人通过,lqw问kk:“这次难度稍微提高了些,你再猜下,至少会有多少个人获奖?”
Input
第一行一个数字t,表示有多少组数据,每组数据如下所示(100< t < 300, 10<=n<=100, n1,...,n5<=n):
n
n1 n2 n3 n4 n5
Output
针对每组数据,输出一个数,表示最低获奖人数。
Sample Input
2 92 76 72 72 53 92 81 70 81 45 63 64Sample Output
64 58 关于1的在 http://www.cnblogs.com/tom987690183/p/3418944.html 1. “每题的通过人数一定大于等于最低获奖人数”,正式基于这个条件, 所以我们的可以把它的和加起来,平均分配各学生。 假如遇到这个例子(2,1,0,0,0),那至少有一个人能获得么?不可以。 2. 这就是2的问题需要考虑的,同理我只要考虑让1个人做错3道题,那么他就不能拿奖了呀。 数据范围比较小,所以可以贪心一下,每次人数+1,前三个大的错误数-1。(⊙o⊙)…,借别人的说. 请参考 http://hi.baidu.com/ydlqw/item/120cd21a5afd5becddeeca41?qq-pf-to=pcqq.c2c 1 #include<iostream> 2 #include<stdio.h> 3 #include<cstring> 4 #include<cstdlib> 5 #include<algorithm> 6 using namespace std; 7 8 int a[10]; 9 bool cmp(int n1,int n2) 10 { 11 return n1>n2; 12 } 13 int main() 14 { 15 int T,n; 16 int i,cur; 17 while(scanf("%d",&T)>0) 18 { 19 while(T--) 20 { 21 scanf("%d",&n); 22 for(i=1;i<=5;i++) 23 { 24 scanf("%d",&a[i]); 25 a[i]=n-a[i]; 26 } 27 sort(a+1,a+1+5,cmp); 28 cur=0; 29 while(a[3]!=0) 30 { 31 cur=cur+1; 32 if(cur==n)break;//这个你是要考虑的哦 测试数据 5 0 0 0 0 0 33 a[1]=a[1]-1; 34 a[2]=a[2]-1; 35 a[3]=a[3]-1; 36 sort(a+1,a+1+5,cmp); 37 } 38 printf("%d\n",n-cur); 39 } 40 } 41 return 0; 42 }
转载于:https://www.cnblogs.com/tom987690183/p/3614760.html
总结
以上是生活随笔为你收集整理的fzu 2139 久违的月赛之二的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: dell 远程访问管理卡iDRAC 7
- 下一篇: CodeFirst体验之且行且珍惜