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;
}