#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int L, H;
struct man {
int id;
int vg;
int tg;
bool operator<(const man &b) const {
if((vg+tg)^(b.vg+b.tg))
return vg+tg > b.vg+b.tg;
if(vg^b.vg)
return vg > b.vg;
return id < b.id;
}
};
int main(int argc, char **argv) {
int n;
cin >> n >> L >> H;
vector<man> human[4];
for(int i = 0; i < n; i ++) {
man m;
scanf("%d%d%d", &m.id, &m.vg, &m.tg);
if(m.vg >= H && m.tg >= H) {
human[0].push_back(m);
}
else if(m.vg >= H && m.tg >= L) {
human[1].push_back(m);
}
else if(m.vg >= L && m.tg >= L) {
if(m.vg >= m.tg) {
human[2].push_back(m);
}
else
human[3].push_back(m);
}
}
int total = 0;
for(int i = 0; i < 4; i ++) {
sort(human[i].begin(), human[i].end());
total += human[i].size();
}
cout << total << endl;
for(int i = 0; i < 4; i ++) {
for(int j = 0; j < human[i].size(); j ++) {
printf("%05d %d %d\n", human[i][j].id, human[i][j].vg, human[i][j].tg);
}
}
return 0;
}
1062. Talent and Virtue (25)
最新推荐文章于 2015-01-13 18:26:37 发布