#include <iostream> #include <array> #include <algorithm> #include <vector> int main() { struct Player { int id; int x; }; std::array<Player, 20000> s; int n; std::cin >> n; int playersCount = 0; for (int i = 1 ;i<n+1;i++){ std::string decision; int x; std::cin >> decision >> x; if (decision == "TAK"){ s[playersCount] = {i, x}; playersCount++; } } std::vector<int> result; int firstTenCount = std::min(10, playersCount); for (int i=0;i<firstTenCount;i++){ result.push_back(s[i].id); } for (int i=firstTenCount;i<playersCount;i++){ if (s[i].x < 2){ result.push_back(s[i].id); } if (result.size() == 20) break; } if (!result.empty()) { std::cout << result[0]; for (size_t i = 1; i < result.size(); ++i) { std::cout << ' ' << result[i]; } } std::cout << std::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 | #include <iostream> #include <array> #include <algorithm> #include <vector> int main() { struct Player { int id; int x; }; std::array<Player, 20000> s; int n; std::cin >> n; int playersCount = 0; for (int i = 1 ;i<n+1;i++){ std::string decision; int x; std::cin >> decision >> x; if (decision == "TAK"){ s[playersCount] = {i, x}; playersCount++; } } std::vector<int> result; int firstTenCount = std::min(10, playersCount); for (int i=0;i<firstTenCount;i++){ result.push_back(s[i].id); } for (int i=firstTenCount;i<playersCount;i++){ if (s[i].x < 2){ result.push_back(s[i].id); } if (result.size() == 20) break; } if (!result.empty()) { std::cout << result[0]; for (size_t i = 1; i < result.size(); ++i) { std::cout << ' ' << result[i]; } } std::cout << std::endl; } |