
Solution题目要求给出n个人的财富信息给出k个查询每个查询要输出一个年龄段中最富有的m个人的名字年龄以及财富信息。根据题目要求排序即可。代码如下//排序#includestdio.h#includeiostream#includestring.h#includestring#includealgorithmusing namespace std;structpeople{charname[20];intage;intwealth;}p[100005];intn,m;//n为总人数m为询问数boolcmp(people a,people b){if(a.wealthb.wealth){returntrue;}elseif(a.wealthb.wealtha.ageb.age){returntrue;}elseif(a.wealthb.wealtha.ageb.age(strcmp(a.name,b.name)0)){returntrue;}returnfalse;}intmain(){scanf(%d%d,n,m);for(inti0;in;i){//cinp[i].namep[i].agep[i].wealth;scanf(%s%d%d,p[i].name,p[i].age,p[i].wealth);}sort(p,pn,cmp);intmax_num;//最大人数inta_age,b_age;//年龄范围for(inti0;im;i){//cinmax_numa_ageb_age;scanf(%d%d%d,max_num,a_age,b_age);//coutCase #i1:endl;printf(Case #%d:\n,i1);intans0;for(intj0;jnansmax_num;j){if(p[j].agea_agep[j].ageb_age){printf(%s %d %d\n,p[j].name,p[j].age,p[j].wealth);//coutp[j].name p[j].age p[j].wealthendl;ans;}}if(ans0){//coutNoneendl;printf(None\n);}}return0;}