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
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iostream>

using namespace std;

void quicksort(int *tablica, int lewy, int prawy)
{
    int t = tablica[(lewy + prawy)/2];
    int i, l = lewy, p = prawy;
    do
    {
        while(tablica[l] > t)
        {
            l++;
        }
        while(tablica[p] < t)
        {
            p--;
        }

        if(l <= p)
        {
            i = tablica[l];
            tablica[l] = tablica[p];
            tablica[p] = i;
            l++;
            p--;
        }
    }
    while(l <= p);

    if(p > lewy)
    {
        quicksort(tablica, lewy, p);
    }
    if(l < prawy)
    {
        quicksort(tablica, l , prawy);
    }
}

int main()
{
    int n, i, naj, p, j;
    bool prawda = true, pierwszy = true;
    cin >> n;
    int sumy[n];
    int *masa;
    masa = new int [n];
    for(i = 0; i < n; i++)
    {
        cin >> sumy[i];
        masa[i] = sumy[i];
    }
    i = 1;
    while(sumy[i] == sumy[i-1])
    {
        if(i == n-1)
        {
            for(j = 0; j < n; j++)
            {
                cout << "N";
            }
            pierwszy = false;
            break;
        }
        i++;
    }

    if(pierwszy)
    {
        quicksort(masa, 0 , n-1);

        naj = masa[0];

        for(i = n-2; i >= 0; i--)
        {
            p = masa[i];
            prawda = true;
            for(j = n-1; j>=0; j--)
            {
                if(j == i)
                {
                    j--;
                }
                if(p > masa[j])
                {
                    p+=masa[j];
                }
                else
                {
                    prawda = false;
                    break;
                }
            }
            if(prawda)
            {
                naj = masa[i];
                break;
            }
        }
        for(i = 0; i < n; i++)
        {
            if(sumy[i] >= naj)
            {
                cout << 'T';
            }
            else
            {
                cout << 'N';
            }
        }
    }

    return 0;
}