#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
struct person {
char name[9];
int age, worth;
}per[100001];
bool cmp(person a, person b) {
if(a.worth != b.worth) return a.worth >= b.worth;
else if(a.age != b.age) return a.age <= b.age;
else return strcmp(a.name, b.name) < 0;
};
int main() {
int n, k, m, left, right;
cin >> n >> k;
for(int i = 0; i < n; i++) {
scanf("%s %d %d", per[i].name, &per[i].age, &per[i].worth);
}
sort(per, per + n, cmp);
for(int i = 0; i < k; i++) {
int num = 1;
cin >> m >> left >> right;
cout << "Case #" << i + 1 << ':' << endl;
for(int j = 0; j < m; j++) {
for(int l = 0; l < n; l++) {
if(per[l].age >= left && per[l].age <= right && num <= m) {
cout << per[l].name << ' ' << per[l].age << ' ' << per[l].worth << endl;
num++;
}
else if(num == m) {
cout << "None" << endl;
break;
}
}
break;
}
}
return 0;
}
【PAT甲级-1055】题解
最新推荐文章于 2024-10-02 10:07:45 发布