若智题解 bro试图把橘题当黄题做
2025-08-08 18:52:07
发布于:江苏
正文 补药复制
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
ll m,n;
struct node{
int k;
int s;
}a[5005];
bool cmp(node a,node b){
return a.s > b.s;
}
bool cmp_q(node a,node b){
if(a.s != b.s) return a.s > b.s;
return a.k < b.k;
}
vector<node> q;
ll cnt;
int main(){
cin >> n >> m;
for(int i = 1;i <= n;i ++){
cin >> a[i].k >> a[i].s;
}
ll scr_num = (ll)floor(m*1.5);
//cout << scr_num << endl;
sort(a+1,a+n+1,cmp);
/for(int i = 1;i <= n;i ++){
cout << a[i].k << " " << a[i].s << endl;
}/
ll scr_limit = a[scr_num].s;
for(int i = 1;i <= n-scr_num;i ++){
if(a[scr_num+i].s == a[scr_num].s) cnt ++;
}
for(int i = 1;i <= scr_num+cnt;i ++){
q.push_back(a[i]);
}
cout << a[scr_num].s << " " << scr_num + cnt << endl;
sort(q.begin(),q.end(),cmp_q);
for(int i = 0;i < q.size();i ++){
cout << q[i].k << " " << q[i].s << endl;
}
return 0;
}
这里空空如也
有帮助,赞一个