首页 > 其他 > 详细

分奖金(multiset)

时间:2015-05-02 13:51:06      阅读:128      评论:0      收藏:0      [点我收藏+]

分奖金

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 252  Solved: 156
[Submit][Status][Web Board]

Description

校acm竞赛决定给参赛选手发奖金了!当然,只有做题数量最多的选手(可能有多个)能平分奖金。
今年奖金总共为C元,有n名参赛选手,已知他们的做题数量。
求做题最多的选手每人能获得多少奖金?

Input

第一行只有一个整数T(1<=T<=20),表示数据组数。
每组数据第一行有2个整数C, n(1<=C<=888, 1<=n<=100);
第二行有n个整数Pi(0<=Pi<=11), 表示每个人做题的数量。
输入保证至少有一个人做出题目。

Output

对于每一组数据输出一个整数,表示人均奖金(只保留整数部分)。

Sample Input

2
20 3
6 6 5
20 4
5 5 5 4

Sample Output

10
6


代码:
#include<set> 
#include<cstdio> 
using namespace std; 
  
multiset<int> mst; 
  
int main() 
{ 
    int t; 
    scanf("%d",&t); 
    int c,n; 
    while(t--) 
    { 
        mst.clear(); 
        int maxx=-999; 
        scanf("%d%d",&c,&n); 
        for(int i=1; i<=n; i++) 
        { 
            int x; 
            scanf("%d",&x); 
            if(x>maxx) 
            { 
                maxx=x; 
            } 
            mst.insert(x); 
        } 
        multiset<int>::iterator it; 
        it=lower_bound(mst.begin(),mst.end(),maxx); 
        int cnt=0; 
        while(it!=mst.end()) 
        { 
            it++; 
            cnt++; 
        } 
        int ans=c/cnt; 
        printf("%d\n",ans); 
    } 
    return 0; 
} 


分奖金(multiset)

原文:http://blog.csdn.net/xky1306102chenhong/article/details/45439179

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!