80分,#2#3没过,求佬指点

P1068 [NOIP2009 普及组] 分数线划定

``` #include<iostream> #include<cstring> #include <algorithm> #include <math.h> using namespace std; struct x { int no; int score; }a[100000]; int main() { int n,m,i,j; cin>>n>>m; for(i=0;i<n;i++) { cin>>a[i].no>>a[i].score; } for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(a[i].score<a[j].score||(a[i].score==a[j].score&&a[i].no>a[j].no)) { int t1=a[i].score,t2=a[i].no; a[i].score=a[j].score; a[i].no=a[j].no; a[j].score=t1; a[j].no=t2; } } } int t=m*1.5; if(t>n)t=n; while(a[t].score==a[t-1].score&&t+1<=n)t++;//可以不用k来存个数,直接用t存即可 cout<<a[t-1].score<<" "<<t<<endl; for(i=0;i<t;i++) { cout<<a[i].no<<" "<<a[i].score<<endl; } return 0; } ```
by Wilderness_114514 @ 2023-12-28 10:27:56


@[Wilderness_114514](/user/816495) 谢谢大佬
by afeng05 @ 2024-01-02 15:18:35


|