#include <iostream> void prog_main(std::istream& in, std::ostream& out) { uint32_t num = 0; in >> num; std::string was; uint32_t finals = 0; uint32_t i; uint32_t finalists = 0; for (i = 1; i <= num && finalists < 10; ++i) { in >> was; in >> finals; if (was.c_str()[0] == 'T') { ++finalists; out << i << " "; } } for (; i <= num && finalists < 19; ++i) { in >> was; in >> finals; if (was.c_str()[0] == 'T') { if (finals < 2) { ++finalists; out << i << " "; } } } for (; i <= num && finalists < 20; ++i) { in >> was; in >> finals; if (was.c_str()[0] == 'T') { if (finals < 2) { ++finalists; out << i << std::endl; return; } } } } #ifndef TEST int main(int argc, char* argv[]) { prog_main(std::cin, std::cout); return 0; } #endif
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 | #include <iostream> void prog_main(std::istream& in, std::ostream& out) { uint32_t num = 0; in >> num; std::string was; uint32_t finals = 0; uint32_t i; uint32_t finalists = 0; for (i = 1; i <= num && finalists < 10; ++i) { in >> was; in >> finals; if (was.c_str()[0] == 'T') { ++finalists; out << i << " "; } } for (; i <= num && finalists < 19; ++i) { in >> was; in >> finals; if (was.c_str()[0] == 'T') { if (finals < 2) { ++finalists; out << i << " "; } } } for (; i <= num && finalists < 20; ++i) { in >> was; in >> finals; if (was.c_str()[0] == 'T') { if (finals < 2) { ++finalists; out << i << std::endl; return; } } } } #ifndef TEST int main(int argc, char* argv[]) { prog_main(std::cin, std::cout); return 0; } #endif |