P1068 [NOIP2009 普及组] 分数线划定

mm 名志愿者,则面试分数线为排名第 m×150%m×150%(向下取整)

/*
6 3 
1000 90 
3239 88 
2390 95 
7231 84 
1005 95 
1001 88

88 5 
1005 95 
2390 95 
1000 90 
1001 88 
3239 88 
*/
#include<iostream>
#include<cmath>
#include<algorithm>
struct fc
{
    int num;
    int score;
    bool operator <(const fc &a)const{
        return score==a.score ?  num<a.num :score >a.score;
    }
}a[5010];

using namespace std;
int main()
{
    int n,m,lq;
    cin>>n>>m;
    lq=floor(m*1.50);
    for (int i=1;i<=n;++i) cin>>a[i].num>>a[i].score;
    sort(a+1,a+n+1);
    
    cout<<a[lq].score<<" ";
    int i=lq;
    while (a[i].score==a[i+1].score&&i<=n) i++;
    cout<<i<<endl;
    for (int j=1;j<=i;++j) cout<<a[j].num<<" "<<a[j].score<<endl;
    return 0;
}
View Code
 

 

 
posted @ 2023-07-15 22:37  JMXZ  阅读(13)  评论(0)    收藏  举报