PAT(Basic Level)_1015_德才论

#include
#include
#include

using namespace std;

struct Stu{
    int id;
    int eq;
    int iq;
    int sum;
    int type;
};

int cmp(const Stu &a,const Stu &b){
    if(a.type!=b.type){
        return a.type>b.type;
    }
    else if(a.sum!=b.sum){
        return a.sum>b.sum;
    }
    else if(a.eq!=b.eq){
        return a.eq>b.eq;
    }
    else{
        return a.idint main(){
    int N,L,H;
    scanf("%d%d%d",&N,&L,&H);

    int cnt=0,id,eq,iq;
    Stu *list=(Stu*)malloc(sizeof(Stu)*N);
    while(N--){
        scanf("%d%d%d",&id,&eq,&iq);
        if(eq>=L && iq>=L){
            list[cnt].id=id;
            list[cnt].eq=eq;
            list[cnt].iq=iq;
            list[cnt].sum=eq+iq;
            if(eq>=H && iq>=H) list[cnt].type=-1;
            else if(eq>=H) list[cnt].type=-2;
            else if(eq>=iq) list[cnt].type=-3;
            else list[cnt].type=-4;
            cnt++;
        }
    }

    sort(list,list+cnt,cmp);

    printf("%d\n",cnt);
    for(int i=0;iprintf("%d %d %d\n",list[i].id,list[i].eq,list[i].iq);
    }

    free(list);

    return 0;
}

你可能感兴趣的:(ACM)