AC代码
#include<bits/stdc++.h>
using namespace std;
struct Person{
string name;
int age,money;
}p[100001];
bool cmp(Person a,Person b)
{
if(a.money!=b.money) return a.money>b.money;
else if(a.age!=b.age) return a.age<b.age;
else return a.name<b.name;
}
int main()
{
int n,m,age,money;
string name;
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++)
{
cin>>name;
scanf("%d%d",&age,&money);
p[i].name=name;
p[i].age=age;
p[i].money=money;
}
sort(p,p+n,cmp);
int k,low,high;
for(int i=0;i<m;i++)
{
int flag=0;
scanf("%d%d%d",&k,&low,&high);
printf("Case #%d:\n",i+1);
for(int j=0;j<n;j++)
{
if(k==0) break;
if(p[j].age>=low&&p[j].age<=high)
{
cout<<p[j].name<<" "<<p[j].age<<" "<<p[j].money<<endl;
flag=1;
k--;
}
}
if(flag==0) printf("None\n");
}
return 0;
}