#include <bits/stdc++.h>
using namespace std;
int n, t;
long long int a, addsum;
vector<pair<long long int, int> >sum;
vector<int>sum_sum;
int main(){
scanf("%lld", &n);
for(int i=0; i<n; i++){
scanf("%lld", &a);
sum.push_back(make_pair(a, i));
}
sort(sum.begin(), sum.end());
addsum=sum[0].first;
for(int i=1; i<n-1; i++){
addsum+=sum[i].first;
if(sum[i+1].first<addsum && sum[i].first!=sum[i-1].first){
sum_sum.push_back(sum[i].second);
}
else if(sum_sum.size()>0)sum_sum.clear();
}
sum_sum.push_back(sum[n-1].second);
sort(sum_sum.begin(), sum_sum.end());
for(int i=0; i<n; i++){
if(i==sum_sum[t]){
printf("T");
t++;
}
else printf("N");
}
}
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 | #include <bits/stdc++.h> using namespace std; int n, t; long long int a, addsum; vector<pair<long long int, int> >sum; vector<int>sum_sum; int main(){ scanf("%lld", &n); for(int i=0; i<n; i++){ scanf("%lld", &a); sum.push_back(make_pair(a, i)); } sort(sum.begin(), sum.end()); addsum=sum[0].first; for(int i=1; i<n-1; i++){ addsum+=sum[i].first; if(sum[i+1].first<addsum && sum[i].first!=sum[i-1].first){ sum_sum.push_back(sum[i].second); } else if(sum_sum.size()>0)sum_sum.clear(); } sum_sum.push_back(sum[n-1].second); sort(sum_sum.begin(), sum_sum.end()); for(int i=0; i<n; i++){ if(i==sum_sum[t]){ printf("T"); t++; } else printf("N"); } } |
English