代码如下:
#include<bits/stdc++.h>
using namespace std;
int n, s[1000005];
bool f[1000005];
struct Fish {
int a, idx;
}fish[1000005];
static bool cmp(Fish b, Fish c) {
return b.a < c.a;
}
bool judge[1000005];
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> fish[i].a;
fish[i].idx = i;
}
sort(fish + 1, fish + n + 1, cmp);
int cnt = 0;
for (int i = 1; i <= n; i++) {
if (fish[i].a > fish[i - 1].a) {
s[i] = fish[i].a + fish[i - 1].a;
s[i] += cnt * fish[i].a;
cnt = 0;
}
else {
cnt++;
s[i] = s[i - 1];
}
}
for (int i = 1; i <= n; i++) {
if (s[i] > fish[n].a) {
judge[fish[i].idx] = true;
}
else {
judge[fish[i].idx] = false;
}
}
for (int i = 1; i <= n; i++) {
if (judge[i])cout << "T";
else cout << "N";
}
return 0;
}