def solve(): import sys data = sys.stdin.read().strip().split() if not data: return n = int(data[0]) idx = 1 # Lista zawodników, którzy są w stanie (i chcą) uczestniczyć w finale. # Każdy zawodnik zapisany jest jako krotka: (numer, liczba_poprzednich_finali) eligible = [] for i in range(1, n + 1): s = data[idx] idx += 1 x = int(data[idx]) idx += 1 if s == "TAK": eligible.append((i, x)) finalists = [] # Pierwsza grupa – pierwszych 10 zawodników (niezależnie od liczby występów) finalists.extend(eligible[:10]) # Druga grupa – wybieramy kolejne zawodników z listy eligible, # ale pomijamy tych, którzy mieli już co najmniej 2 występy. needed = 20 - len(finalists) for competitor in eligible[10:]: if needed == 0: break if competitor[1] < 2: finalists.append(competitor) needed -= 1 # Zgodnie z treścią należy wypisać numery finalistów w kolejności rosnącej result = sorted(comp[0] for comp in finalists) print(" ".join(map(str, result))) if __name__ == '__main__': solve()
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 | def solve(): import sys data = sys.stdin.read().strip().split() if not data: return n = int(data[0]) idx = 1 # Lista zawodników, którzy są w stanie (i chcą) uczestniczyć w finale. # Każdy zawodnik zapisany jest jako krotka: (numer, liczba_poprzednich_finali) eligible = [] for i in range(1, n + 1): s = data[idx] idx += 1 x = int(data[idx]) idx += 1 if s == "TAK": eligible.append((i, x)) finalists = [] # Pierwsza grupa – pierwszych 10 zawodników (niezależnie od liczby występów) finalists.extend(eligible[:10]) # Druga grupa – wybieramy kolejne zawodników z listy eligible, # ale pomijamy tych, którzy mieli już co najmniej 2 występy. needed = 20 - len(finalists) for competitor in eligible[10:]: if needed == 0: break if competitor[1] < 2: finalists.append(competitor) needed -= 1 # Zgodnie z treścią należy wypisać numery finalistów w kolejności rosnącej result = sorted(comp[0] for comp in finalists) print(" ".join(map(str, result))) if __name__ == '__main__': solve() |