#include <algorithm>
#include <cstdio>
#include <vector>
#include <set>
#include <climits>
using namespace std;
long a[500002];
long b[500002];
int main()
{
long n;
scanf("%ld", &n);
for (long i = 0; i < n; ++i)
{
scanf("%ld", &a[i]);
}
copy(a, a + n, b);
sort(b, b + n);
b[n] = 0;
long res = LONG_MAX, sum = b[0];
for (long i = 1; i < n; ++i)
{
sum += b[i];
if (b[i] > b[0] && sum > b[i + 1])
{
if (res == LONG_MAX)
res = b[i];
}
else
res = LONG_MAX;
}
for (long i = 0; i < n; ++i)
printf("%c", a[i] < res ? 'N' : 'T');
return 0;
}
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 | #include <algorithm> #include <cstdio> #include <vector> #include <set> #include <climits> using namespace std; long a[500002]; long b[500002]; int main() { long n; scanf("%ld", &n); for (long i = 0; i < n; ++i) { scanf("%ld", &a[i]); } copy(a, a + n, b); sort(b, b + n); b[n] = 0; long res = LONG_MAX, sum = b[0]; for (long i = 1; i < n; ++i) { sum += b[i]; if (b[i] > b[0] && sum > b[i + 1]) { if (res == LONG_MAX) res = b[i]; } else res = LONG_MAX; } for (long i = 0; i < n; ++i) printf("%c", a[i] < res ? 'N' : 'T'); return 0; } |
English