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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// 2021-3-sum-sumy.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <map>
#include <algorithm>

constexpr int MAXN = 1e6;

long long t[MAXN];
long long t2[MAXN];
long long pref[MAXN];
bool isok[MAXN];

std::map<long long, bool> answ1;

int main()
{
	std::ios_base::sync_with_stdio(0);
	std::cin.tie(0);
	std::cout.tie(0);
	int n;
	std::cin >> n;
	for (size_t i = 1; i <= n; i++)
	{
		std::cin >> t[i];
		t2[i] = t[i];
	}
	std::sort(t2 + 1, t2 + n + 1);
	for (size_t i = 1; i <= n; i++)
	{
		pref[i] = pref[i - 1] + t2[i];
	}
	isok[n] = true;
	for (size_t i = n - 1; i > 0; i--)
	{
		if (pref[i] > t2[i + 1])
		{
			isok[i] = true;
		}
		else
		{
			break;
		}
	}
	for (size_t i = 1; t2[i] == t2[1] ; i++)
	{
		isok[i] = false;
	}
	for (size_t i = 1; i <= n; i++)
	{
		answ1[t2[i]] = isok[i];
	}
	for (size_t i = 1; i <= n; i++)
	{
		std::cout << (answ1[t[i]] ? 'T' : 'N');
	}
	std::cout << '\n';
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file