【NOIP2009】【Luogu1068】分数线划定

problem

solution

codes

#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
const int maxn = 5050;
struct node{ int id, score; }a[maxn];
int cmp(node a, node b){
     if(a.score != b.score)return a.score>b.score;
     return a.id<b.id;
 }
int main(){
    int n, m;  cin>>n>>m;  m=m*1.5;
    for(int i = 1; i <= n; i++)
        cin>>a[i].id>>a[i].score;
    sort(a+1,a+n+1,cmp);
    for(int i = m+1; i <= n; i++)
        if(a[i].score==a[m].score)m++;
    cout<<a[m].score<<" "<<m<<"
";
    for(int i = 1; i <= m; i++)
        cout<<a[i].id<<" "<<a[i].score<<"
";
    return 0;
}
原文地址:https://www.cnblogs.com/gwj1314/p/9444827.html