#include<iostream>
#include<vector>
#include<string.h>
#include<algorithm>
using namespace std;
struct person {
char id[9];
int virtue;
int talent;
};
int N, L, H;
vector<struct person>classes[4];
bool compare(struct person p1, struct person p2) {
if (p1.virtue+p1.talent != p2.virtue+p2.talent) return p1.virtue +p1.talent> p2.virtue+p2.talent;
if (p1.virtue != p2.virtue) return p1.virtue > p2.virtue;
if (strcmp(p1.id, p2.id) != 0) return strcmp(p1.id, p2.id) < 0;
}
int main() {
cin >> N >> L >> H;
for (int i = 0; i < N; i++) {
struct person p;
scanf("%s %d %d", &p.id,& p.virtue,& p.talent);
if (p.virtue < L || p.talent < L)
continue;
else if (p.virtue >= H && p.talent >= H)
classes[0].push_back(p);
else if (p.virtue >= H && p.talent < H)
classes[1].push_back(p);
else if (p.virtue >= p.talent)
classes[2].push_back(p);
else classes[3].push_back(p);
}
int sum = 0;
for (int i = 0; i < 4; i++) {
sum += classes[i].size();
sort(classes[i].begin(), classes[i].end(), compare);
}
printf("%d\n", sum);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < classes[i].size(); j++)
printf("%s %d %d\n", classes[i][j].id, classes[i][j].virtue,
classes[i][j].talent);
}
return 0;
}
PAT甲级 1062(C++)
最新推荐文章于 2024-07-25 12:39:48 发布