洛谷——排序P1068分数线划定

空扰寡人 提交于 2019-12-05 11:28:16

 

 

 解法1:

#include<bits/stdc++.h>
using namespace std;
int n,m,i,f,k[5001],s[5001],sub[5001];
bool cmp(int a,int b){
    if(s[a] == s[b]){
        return k[a]<k[b];
    }
    return s[a] > s[b];
}
int main(){
    cin>>n>>m;
    for(int i = 1;i<=n;++i){
        cin>>k[sub[i]=i]>>s[i];
    }
    sort(sub+1,sub+n+1,cmp);
    f = s[sub[int(m*1.5)]];//分数线
    for(i=1;s[sub[i]]>=f;++i);
    cout<<f<<" "<<i-1<<endl;
    for(i=1;s[sub[i]]>=f;++i){
        cout<<k[sub[i]]<<" "<<s[sub[i]]<<endl; 
    } 
} 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!