#include <iostream> #include <string> #include <vector> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int t; cin >> t; vector<string> wyniki; for (int i = 0; i < t; ++i) { int n; cin >> n; vector<int> zabawki(n); int najwiekszy = 0; int NajMiejsce; int suma = 0; for (int d = 0; d < n; ++d) { cin >> zabawki[d]; suma += zabawki[d]; if (najwiekszy < zabawki[d]) { NajMiejsce = d; najwiekszy = zabawki[d]; } } if (n == 1) { if (suma == 1) { wyniki.push_back("TAK"); } else { wyniki.push_back("NIE"); } } else { int current_pos = NajMiejsce; bool prawo = false; while (suma > 0) { if (current_pos == 0) { prawo = false; } if (current_pos == n) { prawo = true; } if (prawo) { if (zabawki[current_pos] == 0) { break; } zabawki[current_pos]--; suma--; if (zabawki[current_pos + 1] > 0) { current_pos++; } else { prawo = false; current_pos--; } } else { if (zabawki[current_pos] == 0) { break; } zabawki[current_pos]--; suma--; if (zabawki[current_pos - 1] > 0) { current_pos--; } else { prawo = true; current_pos++; } } } if (suma > 0) { wyniki.push_back("NIE"); } else { wyniki.push_back("TAK"); } } } for (auto i : wyniki) { cout << i << "\n"; } 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 75 76 77 78 79 80 81 82 | #include <iostream> #include <string> #include <vector> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int t; cin >> t; vector<string> wyniki; for (int i = 0; i < t; ++i) { int n; cin >> n; vector<int> zabawki(n); int najwiekszy = 0; int NajMiejsce; int suma = 0; for (int d = 0; d < n; ++d) { cin >> zabawki[d]; suma += zabawki[d]; if (najwiekszy < zabawki[d]) { NajMiejsce = d; najwiekszy = zabawki[d]; } } if (n == 1) { if (suma == 1) { wyniki.push_back("TAK"); } else { wyniki.push_back("NIE"); } } else { int current_pos = NajMiejsce; bool prawo = false; while (suma > 0) { if (current_pos == 0) { prawo = false; } if (current_pos == n) { prawo = true; } if (prawo) { if (zabawki[current_pos] == 0) { break; } zabawki[current_pos]--; suma--; if (zabawki[current_pos + 1] > 0) { current_pos++; } else { prawo = false; current_pos--; } } else { if (zabawki[current_pos] == 0) { break; } zabawki[current_pos]--; suma--; if (zabawki[current_pos - 1] > 0) { current_pos--; } else { prawo = true; current_pos++; } } } if (suma > 0) { wyniki.push_back("NIE"); } else { wyniki.push_back("TAK"); } } } for (auto i : wyniki) { cout << i << "\n"; } return 0; } |