#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
#define ULL unsigned long long
int n;
vector<ULL> masses[2];
int main() {
ios_base::sync_with_stdio(0);
cin >> n;
masses[0].reserve(n + 2);
masses[1].reserve(n + 2);
for(int i = 0; i < n; i++) {
ULL mass;
cin >> mass;
masses[0].push_back(mass);
masses[1].push_back(mass);
}
sort(masses[0].begin(), masses[0].end());
ULL too_small = masses[0][0];
int eaten = 0;
ULL mass = too_small;
for(int i = 1; i < n; i++) {
if(masses[0][i] == too_small) {
eaten++;
mass += too_small;
}
}
for(int i = eaten + 1; i < n; i++) {
if(mass <= masses[0][i]) {
too_small = masses[0][i - 1];
}
mass += masses[0][i];
eaten++;
}
for(int i = 0; i < n; i++) {
cout << ((masses[1][i] > too_small) ? 'T' : 'N');
}
cout << endl;
}
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 | #include<iostream> #include<vector> #include<algorithm> using namespace std; #define ULL unsigned long long int n; vector<ULL> masses[2]; int main() { ios_base::sync_with_stdio(0); cin >> n; masses[0].reserve(n + 2); masses[1].reserve(n + 2); for(int i = 0; i < n; i++) { ULL mass; cin >> mass; masses[0].push_back(mass); masses[1].push_back(mass); } sort(masses[0].begin(), masses[0].end()); ULL too_small = masses[0][0]; int eaten = 0; ULL mass = too_small; for(int i = 1; i < n; i++) { if(masses[0][i] == too_small) { eaten++; mass += too_small; } } for(int i = eaten + 1; i < n; i++) { if(mass <= masses[0][i]) { too_small = masses[0][i - 1]; } mass += masses[0][i]; eaten++; } for(int i = 0; i < n; i++) { cout << ((masses[1][i] > too_small) ? 'T' : 'N'); } cout << endl; } |
English