#include <bits/stdc++.h>
using namespace std;
struct Zawodnik {
int idx;
bool tak;
int ilosc;
};
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
vector<Zawodnik> ranking(n);
for(int i = 0; i < n; i++) {
string s;
int x;
cin >> s >> x;
ranking[i].idx = i + 1;
ranking[i].tak = (s == "TAK");
ranking[i].ilosc = x;
}
vector<Zawodnik> kandydaci;
for (auto &z : ranking)
if (z.tak)
kandydaci.push_back(z);
vector<int> finalisci;
int licznik1 = 0;
for (auto &z : kandydaci) {
if (licznik1 < 10) {
finalisci.push_back(z.idx);
licznik1++;
}
else break;
}
set<int> juzWybrani(finalisci.begin(), finalisci.end());
int licznik2 = 0;
for (auto &z : kandydaci) {
if (juzWybrani.count(z.idx) == 0 && z.ilosc < 2) {
finalisci.push_back(z.idx);
licznik2++;
if (licznik2 == 10) break;
}
}
sort(finalisci.begin(), finalisci.end());
for (int i = 0; i < (int)finalisci.size(); i++) {
cout << finalisci[i];
if (i + 1 < (int)finalisci.size()) cout << " ";
}
cout << "\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 | #include <bits/stdc++.h> using namespace std; struct Zawodnik { int idx; bool tak; int ilosc; }; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<Zawodnik> ranking(n); for(int i = 0; i < n; i++) { string s; int x; cin >> s >> x; ranking[i].idx = i + 1; ranking[i].tak = (s == "TAK"); ranking[i].ilosc = x; } vector<Zawodnik> kandydaci; for (auto &z : ranking) if (z.tak) kandydaci.push_back(z); vector<int> finalisci; int licznik1 = 0; for (auto &z : kandydaci) { if (licznik1 < 10) { finalisci.push_back(z.idx); licznik1++; } else break; } set<int> juzWybrani(finalisci.begin(), finalisci.end()); int licznik2 = 0; for (auto &z : kandydaci) { if (juzWybrani.count(z.idx) == 0 && z.ilosc < 2) { finalisci.push_back(z.idx); licznik2++; if (licznik2 == 10) break; } } sort(finalisci.begin(), finalisci.end()); for (int i = 0; i < (int)finalisci.size(); i++) { cout << finalisci[i]; if (i + 1 < (int)finalisci.size()) cout << " "; } cout << "\n"; return 0; } |
English