#include<bits/stdc++.h>
using namespace std;
int n,l=1,r=n,mid,pos;
struct fish
{
int weight,index;
char answer;
}a[500001];
bool cmp1(fish x,fish y)
{
return x.weight<y.weight;
}
bool cmp2(fish x,fish y)
{
return x.index<y.index;
}
bool check(int p)
{
int r=a[p].weight;
for(int i=1; i<=n; i++)
{
if (i==p)
{
continue;
}
else if (r>a[i].weight)
{
r+=a[i].weight;
}
else
{
return false;
}
}
return true;
}
int main()
{
cin>>n;
for (int i=1;i<=n;i++)
{
cin>>a[i].weight;
a[i].index=i;
}
sort(a+1,a+n+1,cmp1);
r=n;
while (l<=r)
{
mid=l+r>>1;
if (check(mid))
{
pos=mid;
r=mid-1;
}
else
{
l=mid+1;
}
}
for(int i=1; i<=n; i++)
{
if (i<pos)
{
a[i].answer='N';
}
else
{
a[i].answer='T';
}
}
sort(a+1,a+n+1,cmp2);
for (int i=1;i<=n;i++)
{
cout<<a[i].answer;
}
return 0;
cout<<"byebye~";
}
错在哪???