不知道为什么错了,30pts。
#include<bits/stdc++.h>
using namespace std;
int n, ans[200100];
struct stu {
int g;
int s;
int b;
int pos, ans;
}a[200100];
inline bool cmp1(const stu &x, const stu &y) {
return x.g > y.g;
}
inline bool cmp2(const stu &x, const stu &y) {
return x.s > y.s;
}
inline bool cmp3(const stu &x, const stu &y) {
return x.b > y.b;
}
inline bool cmp(const stu &x, const stu &y) {
return x.pos < y.pos;
}
main() {
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i].g >> a[i].s >> a[i].b, a[i].pos = i;
sort(a + 1, a + n + 1, cmp1);
for (int i = 1; i <= n; i++)
a[i].ans = i;
sort(a + 1, a + n + 1, cmp2);
for (int i = 1; i <= n; i++) {
if (a[i].ans > i)
a[i].ans = i;
}
sort(a + 1, a + n + 1, cmp3);
for (int i = 1; i <= n; i++) {
if (a[i].ans > i)
a[i].ans = i;
}
sort(a + 1, a + n + 1, cmp);
for (int i = 1; i <= n; i++)
cout << a[i].ans << endl;
return 0;
}