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
39
40
41
#include <bits/stdc++.h>
using namespace std;

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	long long n;
	cin >> n;
	pair<long long, long long> a[n];
	for(long long i = 0; i < n; i++){
		cin >> a[i].first;
		a[i].second = i;
	}
	sort(a, a+n);
	long long px[n];
	px[0] = a[0].first;
	for(long long i = 1; i < n; i++){
		px[i] = px[i-1] + a[i].first;
	}
	char wynik[n];
	long long j = n-2;
	long long takSamo = 1;
	for(long long i = 1; i < n; i++){
		if(a[i].first == a[i-1].first) takSamo++;
		else break;
	}
	if(takSamo != n) wynik[a[n-1].second] = 'T';
	else wynik[a[n-1].second] = 'N';
	while(j >= takSamo && (px[j] > a[j+1].first || a[j].first == a[j+1].first)){
		wynik[a[j].second] = 'T';
		j--;
	}
	for(; j >= 0; j--){
		wynik[a[j].second] = 'N';
	}
	for(long long i = 0; i < n; i++){
		cout << wynik[i];
	}
	return 0;
}