//Ada Kołodziejczak //Zadanie Sumy #include<bits/stdc++.h> #define ff first #define ss second #define pb push_back using namespace std; int n, a, l, li; long long sum; vector<pair<long long,int> > v; bitset<500005> bs; int main() { ios_base::sync_with_stdio(0); cin>>n; for(int i=1; i<=n; ++i) { cin>>a; v.pb({a,i}); } sort(v.begin(), v.end()); if(v[0].ff==v[n-1].ff) { for(int i=1; i<=n; ++i) { cout<<"N"; } return 0; } sum=v[0].ff; while(v[li].ff==v[li+1].ff)//poprawic to jajco na takie same { ++li; l=li; sum+=v[li].ff; } for(int i=li+1; i<=n; ++i) { if(l==n) bs[v[i].ss]=1; if(l>=i) continue;//jezeli da sie za nasza pozycje to nie da sie polepszyc wyniku sum+=v[i].ff; l=i+1; while(l<=n&&sum>v[l].ff) { sum+=v[l].ff; ++l; } --l; if(l==n) bs[v[i].ss]=1; /* while(v[i].ff==v[i+1].ff)//poprawic to jajco na takie same { ++i; l=i; if(l<i) sum+=v[i].ff; } */ } for(int i=1; i<=n; ++i) { if(bs[i]) cout<<"T"; else cout<<"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 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 | //Ada Kołodziejczak //Zadanie Sumy #include<bits/stdc++.h> #define ff first #define ss second #define pb push_back using namespace std; int n, a, l, li; long long sum; vector<pair<long long,int> > v; bitset<500005> bs; int main() { ios_base::sync_with_stdio(0); cin>>n; for(int i=1; i<=n; ++i) { cin>>a; v.pb({a,i}); } sort(v.begin(), v.end()); if(v[0].ff==v[n-1].ff) { for(int i=1; i<=n; ++i) { cout<<"N"; } return 0; } sum=v[0].ff; while(v[li].ff==v[li+1].ff)//poprawic to jajco na takie same { ++li; l=li; sum+=v[li].ff; } for(int i=li+1; i<=n; ++i) { if(l==n) bs[v[i].ss]=1; if(l>=i) continue;//jezeli da sie za nasza pozycje to nie da sie polepszyc wyniku sum+=v[i].ff; l=i+1; while(l<=n&&sum>v[l].ff) { sum+=v[l].ff; ++l; } --l; if(l==n) bs[v[i].ss]=1; /* while(v[i].ff==v[i+1].ff)//poprawic to jajco na takie same { ++i; l=i; if(l<i) sum+=v[i].ff; } */ } for(int i=1; i<=n; ++i) { if(bs[i]) cout<<"T"; else cout<<"N"; } } |