70分!哪错了?求助大佬

P1093 [NOIP2007 普及组] 奖学金

放_弃 @ 2018-10-21 22:53:07

#include<bits/stdc++.h>
using namespace std;
int n,i,a[10002],b[10002],c[10002],d[10002],e[10002],j;
int main(){
    cin>>n;
    for(i=1;i<=n;i++){
        cin>>a[i]>>b[i]>>c[i];
        d[i]=a[i]+b[i]+c[i];
        e[i]=i;
    }
    for(i=1;i<=n;i++){
        for(j=i+1;j<=n;j++){
            if(d[i]<d[j]){
                swap(d[i],d[j]);
                swap(e[i],e[j]);
            }else if(d[i]==d[j]&&a[i]<a[j]){
                swap(d[i],d[j]);
                swap(e[i],e[j]);
            }else if(d[i]==d[j]&&a[i]==a[j]&&e[i]>e[j]){
                swap(d[i],d[j]);
                swap(e[i],e[j]);
            }
        }
    }
    for(i=1;i<=5;i++)
    cout<<e[i]<<" "<<d[i]<<endl;
    return 0;
}

by 第一大砍刀 @ 2018-10-21 23:03:03

啥题


by 第一大砍刀 @ 2018-10-21 23:03:31

include<bits/stdc++.h>

using namespace std; struct px { int h; int s; int y; int e; int z; }a[10010]; bool cmp(px x,px y) { if(x.z>y.z) return 1; else if(x.z==y.z&&x.y>y.y) return 1; else { if(x.z==y.z&&x.y==y.y) { if(x.h<y.h) return 1; else return 0; } else return 0; } } int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i].y>>a[i].s>>a[i].e; a[i].h=i; a[i].z=a[i].y+a[i].s+a[i].e; } sort(a+1,a+n+1,cmp); for(int i=1;i<=5;i++) { cout<<a[i].h<<" "<<a[i].z<<endl; } return 0; }


by 第一大砍刀 @ 2018-10-21 23:03:54

你参考下吧,我自己写的代码,


|