#include <iostream> #include <algorithm> using namespace std; long long ory[500005],tab[500005]; int main() { int n; cin>>n; for(int i=0;i<n;i++) { cin>>ory[i]; tab[i]=ory[i]; } //cout<<ory[0]<<tab[0]; sort(ory,ory+n); long long mini=ory[0],sum=ory[0],wher=1; for(;wher<n;wher++) { if(ory[wher]==mini){/*nothing*/} else { break; } sum=sum+ory[wher]; } long long rem,maxy=ory[n-1]; bool stop=false; for(;wher<n;wher++) { sum=sum+ory[wher]; if(sum>ory[wher+1]&&stop==false&&wher!=0) { rem=ory[wher]; stop=true; } else { if(stop==true&&sum<ory[wher+1]) { stop=false; rem=ory[wher]; } } } for(int i=0;i<n;i++) { if(tab[i]<rem) { cout<<"N"; } else cout<<"T"; } }
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 | #include <iostream> #include <algorithm> using namespace std; long long ory[500005],tab[500005]; int main() { int n; cin>>n; for(int i=0;i<n;i++) { cin>>ory[i]; tab[i]=ory[i]; } //cout<<ory[0]<<tab[0]; sort(ory,ory+n); long long mini=ory[0],sum=ory[0],wher=1; for(;wher<n;wher++) { if(ory[wher]==mini){/*nothing*/} else { break; } sum=sum+ory[wher]; } long long rem,maxy=ory[n-1]; bool stop=false; for(;wher<n;wher++) { sum=sum+ory[wher]; if(sum>ory[wher+1]&&stop==false&&wher!=0) { rem=ory[wher]; stop=true; } else { if(stop==true&&sum<ory[wher+1]) { stop=false; rem=ory[wher]; } } } for(int i=0;i<n;i++) { if(tab[i]<rem) { cout<<"N"; } else cout<<"T"; } } |