1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int n;
    cin >> n;

    long long sum = 0;
    vector<pair<int, int>> V; V.reserve(n);
    for (int i = 0; i < n; i++) {
        int a;
        cin >> a;
        V.push_back({ a, i });
        sum += a;
    }

    sort(V.begin(), V.end());
    V.push_back({ 0, 0 });
    vector<bool> R(n);
    int min = V.front().first;
    for (int i = n - 1; i > 0; i--) {
        auto [a, p] = V[i];
        if (a == min || sum <= V[i + 1].first) break;
        R[p] = true;
        sum -= a;
    }

    for (auto&& r : R)
        cout << (r ? 'T' : 'N');
}