AC供参考

#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
using namespace std;

struct A{
    int k;
    int s;
};
bool cmp(A a, A b){
    if(a.s == b.s)
        return a.k < b.k; 
    else
        return a.s > b.s; 
}
int main(){
    int n, m;
    scanf("%d%d", &n, &m);
    int ks1, ks2;
    A ks[5001];
    for(int i = 0; i < n; ++i){
        scanf("%d%d", &ks1, &ks2);
        ks[i].k = ks1;
        ks[i].s = ks2;
    }
    sort(ks, ks+n, cmp);
    int number = floor(m*1.5);
    while(ks[number-1].s == ks[number].s)
        number++;
    printf("%d %d\n", ks[number-1].s, number);
    for(int i = 0; i < number; ++i){
        printf("%d %d\n", ks[i].k, ks[i].s);
    }
    return 0;
}


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务