#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int liczba_sumow;
cin >> liczba_sumow;
vector<int> sumy = {};
vector<int> sumy2 = {};
vector<char> wynik = {};
int max = 0;
for (int i = 0; i < liczba_sumow; i++)
{
int waga_suma;
cin >> waga_suma;
if (waga_suma > max)
{
max = waga_suma;
}
sumy.push_back((int)waga_suma);
wynik.push_back('0');
}
for (int i = 0; i < liczba_sumow; i++)
{
if (wynik[i] == 'T' || wynik[i] == 'N')
{
continue;
}
int masa = sumy[i];
sumy2 = sumy;
bool sprawdzanie = true;
bool krol = false;
while (sprawdzanie == true)
{
sprawdzanie = false;
for (int j = 0; j < liczba_sumow; j++)
{
if (sumy2[i] > sumy2[j] && sumy2[j] != 0)
{
sprawdzanie = true;
sumy2[i] += sumy2[j];
sumy2[j] = 0;
}
if (sumy2[i] > max)
{
krol = true;
break;
}
}
if (krol == true)
break;
}
for (int j = 0; j < liczba_sumow; j++)
{
if (sumy[j] == masa)
{
if (krol == true)
wynik[j] = 'T';
if (krol == false)
wynik[j] = 'N';
}
}
}
for (int i = 0; i < liczba_sumow; i++)
{
cout << wynik[i];
}
return 0;
}
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 73 74 | #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int liczba_sumow; cin >> liczba_sumow; vector<int> sumy = {}; vector<int> sumy2 = {}; vector<char> wynik = {}; int max = 0; for (int i = 0; i < liczba_sumow; i++) { int waga_suma; cin >> waga_suma; if (waga_suma > max) { max = waga_suma; } sumy.push_back((int)waga_suma); wynik.push_back('0'); } for (int i = 0; i < liczba_sumow; i++) { if (wynik[i] == 'T' || wynik[i] == 'N') { continue; } int masa = sumy[i]; sumy2 = sumy; bool sprawdzanie = true; bool krol = false; while (sprawdzanie == true) { sprawdzanie = false; for (int j = 0; j < liczba_sumow; j++) { if (sumy2[i] > sumy2[j] && sumy2[j] != 0) { sprawdzanie = true; sumy2[i] += sumy2[j]; sumy2[j] = 0; } if (sumy2[i] > max) { krol = true; break; } } if (krol == true) break; } for (int j = 0; j < liczba_sumow; j++) { if (sumy[j] == masa) { if (krol == true) wynik[j] = 'T'; if (krol == false) wynik[j] = 'N'; } } } for (int i = 0; i < liczba_sumow; i++) { cout << wynik[i]; } return 0; } |
English