P1068 [NOIP2009 普及组] 分数线划定
取 mm 名志愿者,则面试分数线为排名第 m×150%m×150%(向下取整)
/* 6 3 1000 90 3239 88 2390 95 7231 84 1005 95 1001 88 88 5 1005 95 2390 95 1000 90 1001 88 3239 88 */ #include<iostream> #include<cmath> #include<algorithm> struct fc { int num; int score; bool operator <(const fc &a)const{ return score==a.score ? num<a.num :score >a.score; } }a[5010]; using namespace std; int main() { int n,m,lq; cin>>n>>m; lq=floor(m*1.50); for (int i=1;i<=n;++i) cin>>a[i].num>>a[i].score; sort(a+1,a+n+1); cout<<a[lq].score<<" "; int i=lq; while (a[i].score==a[i+1].score&&i<=n) i++; cout<<i<<endl; for (int j=1;j<=i;++j) cout<<a[j].num<<" "<<a[j].score<<endl; return 0; }

浙公网安备 33010602011771号