洛谷P1068 分数线划定

链接:[NOIP2009 普及组] 分数线划定 - 洛谷

洛谷P1068 分数线划定_第1张图片

洛谷P1068 分数线划定_第2张图片

总代码:

#include 

using namespace std;

struct stu{
    int id;
    int score;
};

bool cmp(stu a, stu b){
    if(a.score != b.score){
        return a.score > b.score;
    }else{
        return a.id < b.id;
    }
}

int main(){
    int n, m;
    cin >> n >> m;
    int x = m * 1.5;
    stu s[n];
    for(int i = 0; i < n; i++){
        int ID, SCORE;
        cin >> ID >> SCORE;
        s[i] = {ID, SCORE};
    }
    sort(s, s+n, cmp);
    int y = s[x-1].score;
    int ans = 0;
    for(int i = 0; i < n; i++){
        if(s[i].score >= y){
            ans++;
        }else{
            break;
        }
    }
    cout << y << " " << ans << endl;
    for(int i = 0; i < ans; i++){
        cout << s[i].id << " " << s[i].score << endl;
    }
    return 0;
}

你可能感兴趣的:(结构体排序,排序算法,算法,c++,排序算法)