玄关%你赛T2
  • 板块灌水区
  • 楼主All_Kill_IOI
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/10/13 13:09
  • 上次更新2024/10/13 15:11:03
查看原帖
玄关%你赛T2
1333063
All_Kill_IOI楼主2024/10/13 13:09

不知道为什么错了,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;
}
2024/10/13 13:09
加载中...