RE
查看原帖
RE
989399
louzezhong20130517楼主2024/7/15 21:54
#include <bits/stdc++.h>
using namespace std;
const int maxn = 5*1e4;

struct pol {
	int t, k, sum, id;
} a[maxn];

bool cmp(pol a, pol b) {
	if (a.sum > b.sum)
		return a.sum > b.sum;
	if (a.sum == b.sum) {
		if (a.t > b.t) {
			return a.t > b.t;
		}
		if (a.t == b.t) {
			if (a.id < b.id) {
				return a.id < b.id;
			}
		}
	}
}

int main() {
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i].t >> a[i].k;
		a[i].id = i;
		a[i].sum = a[i].t * a[i].k;
	}
	sort(a + 1, a + n + 1, cmp);
	for (int i = 1; i <= n; i++) {
		cout << a[i].id << " ";
	}
	return 0;
}

帮帮我

2024/7/15 21:54
加载中...