#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
#define mp make_pair
#define pll pair<ll,ll>
#define all(V) V.begin(), V.end()
#define pb push_back
#define sz(x) x.size()
#define st first
#define nd second
#define BOOST ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
constexpr ll mod = 1e9+7;
constexpr ll inf = 1e18+10;
bool sort2(const pll& A, const pll& B)
{
return A.nd<B.nd;
}
int main()
{
BOOST
ll n;
cin>>n;
vector<pll> V(n);
ll s = 0;
for(ll i = 0; i<n; i++)
{
cin>>V[i].st;
V[i].nd = i+1;
s+=V[i].st;
}
sort(all(V));
ll i = sz(V)-2;
s -= V[i+1].st;
while(s>V[i+1].st)
{
i--;
s -= V[i+1].st;
}
ll wart = V[i].st;
sort(all(V),sort2);
for(ll i = 0 ;i<sz(V); i++)
cout<< (V[i].st>wart ? "T" : "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 | #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; #define mp make_pair #define pll pair<ll,ll> #define all(V) V.begin(), V.end() #define pb push_back #define sz(x) x.size() #define st first #define nd second #define BOOST ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); constexpr ll mod = 1e9+7; constexpr ll inf = 1e18+10; bool sort2(const pll& A, const pll& B) { return A.nd<B.nd; } int main() { BOOST ll n; cin>>n; vector<pll> V(n); ll s = 0; for(ll i = 0; i<n; i++) { cin>>V[i].st; V[i].nd = i+1; s+=V[i].st; } sort(all(V)); ll i = sz(V)-2; s -= V[i+1].st; while(s>V[i+1].st) { i--; s -= V[i+1].st; } ll wart = V[i].st; sort(all(V),sort2); for(ll i = 0 ;i<sz(V); i++) cout<< (V[i].st>wart ? "T" : "N"); } |
English