Python思维,所以上来就想用STL中map做,实在是cpp新手(C语言都写不利索的说)
贴一下0分代码
#include<bits/stdc++.h>
using namespace std;
struct cmp{
bool operator()(const pair<int,int> &p1,const pair<int,int> &p2){
return p1.second>p2.second;
}
};
int main(){
int n,m,id,t,cnt;
map<int,int> score;
vector<int> v;
cin>>n>>m;
m=floor(1.5*m);
for(int i=0;i<n;i++){
cin>>id>>t;
score[id]=t;
}
vector<pair<int,int>> vt(score.begin(),score.end());
sort(vt.begin(),vt.end(),cmp());
vector<pair<int,int>>::iterator itr;
itr=vt.begin()+m-1;
int s=itr->second;
for(itr=vt.begin()+m;itr!=vt.end();itr++){
if(itr->second == s) cnt++;
}
m+=cnt;
cout<<s<<" "<<m<<endl;
itr=vt.begin();
while(m--){
cout<<itr->first<<" "<<itr->second<<endl;
itr++;
}
return 0;
}