#include<cstdio>#include<algorithm>#include<stdlib.h>#include<cstring>using namespace std;struct people{ char id[10]; int talent; int virtue; int c;}pe[100010];bool cmp(people st1,people st2){ if(st1.c!=st2.c) return st1.c>st2.c; else if((st1.talent+st1.virtue)!=(st2.talent+st2.virtue)) return (st1.talent+st1.virtue)>(st2.talent+st2.virtue); else if((st1.talent+st1.virtue)==(st2.talent+st2.virtue)) { if(st1.virtue!=st2.virtue) return st1.virtue>st2.virtue; else return strcmp(st1.id,st2.id)<0; }}int main(){ int n,L,H,sum=0; scanf("%d%d%d",&n,&L,&H); for(int i=0;i<n;i++) { scanf("%s %d %d",pe[i].id,&pe[i].virtue,&pe[i].talent); pe[i].c=0; if(pe[i].virtue>=L&&pe[i].talent>=L) { if(pe[i].virtue>=H&&pe[i].talent>=H) { pe[i].c=4; } else if(pe[i].virtue>=H&&pe[i].talent<=H) { pe[i].c=3; } else if(pe[i].virtue<=H&&(pe[i].virtue>=pe[i].talent)) { pe[i].c=2; } else pe[i].c=1; sum++; } } sort(pe,pe+n,cmp); PRintf("%d/n",sum); for(int i=0;i<sum;i++) { printf("%s %d %d/n",pe[i].id,pe[i].virtue,pe[i].talent); } system("pause"); return 0;}
新闻热点
疑难解答