Finaliści

면접 대비

시간 제한2초메모리 제한2048 MB

요약
순위표에서 자격을 갖춘 상위 10명을 먼저 뽑고, 결선에 두 번 이상 나간 적 없는 선수 중 다음 10명을 뽑는다.
난이도

쉬움10점 중 3점

유형
구현, 정렬, 시뮬레이션, 배열
정답자
아직 제출이 없습니다

문제

W tym roku postanowiłeś/aś w końcu dostać się do finału Potyczek! Zanim tego dokonasz, warto dowiedzieć się, jakie są dokładnie zasady kwalifikacji na finał. W Regulaminie konkursu znalazłeś/aś następujące punkty:

  • Po pięciu rundach zdalnych do finału konkursu zostanie zakwalifikowanych 2020 uczestników. Dziesięciu spośród nich to zawodnicy sklasyfikowani na miejscach od 11 do 1010 na liście rankingowej A+B+C. Następnych dziesięciu to najwyżej sklasyfikowani zawodnicy z kolejnych miejsc, z wyłączeniem osób, które przynajmniej dwukrotnie uczestniczyły w finale Potyczek Algorytmicznych.
  • Do finału mogą zostać zakwalifikowani jedynie zawodnicy, którzy są obywatelami Polski, bądź są rezydentami w Polsce, albo uczą się, studiują lub pracują w Polsce.
  • W celu wyłonienia 2020 uczestników zakwalifikowanych do finału, najpierw z rankingu usuwani są uczestnicy, którzy nie mogą się do niego zaklasyfikować, oraz ci, którzy rezygnują z udziału w nim. Następnie, spośród pozostałych uczestników, 2020 finalistów wybieranych jest zgodnie z zasadami opisanymi powyżej.

Twój kolega bardzo dobrze zna wszystkich zawodników i przewidział, jak będzie wyglądał tegoroczny ranking. Dał Ci listę n zawodników numerowanych liczbami od 1 do n w kolejności od największych wyników (na liście Twojego kolegi nie ma remisów). Dla każdego z zawodników wiesz, czy może i chce uczestniczyć w finale oraz ile razy wcześniej uczestniczył w finale.

Wyznacz listę 2020 zawodników, którzy zgodnie z regulaminem zostaną zakwalifikowani do finału.

Możesz założyć, że zawodników na liście jest wystarczająco dużo, żeby zgodnie z regulaminem obsadzić wszystkie 2020 miejsc.

입력

Pierwszy wiersz zawiera liczbę całkowitą nn (20≤n≤10,00020 ≤ n ≤ 10\\, 000), oznaczającą liczbę zawodników w rankingu Potyczek.

Kolejne n wierszy zawiera informacje o kolejnych zawodnikach. Każdy z nich zawiera słowo s oraz liczbę całkowitą xx (s ∈ \\{TAK, NIE\\}, 0≤x<200 ≤ x < 20). Słowo TAK oznacza, że zawodnik może i chce uczestniczyć w finale, słowo NIE oznacza, że zawodnik nie może, bądź nie chce uczestniczyć w finale. Liczba x oznacza dotychczasową liczbę startów w finale danego zawodnika.

출력

Na wyjściu wypisz jeden wiersz zawierający 2020 liczb całkowitych pooddzielanych pojedynczymi odstępami i oznaczających numery zawodników zakwalifikowanych na finał Potyczek w porządku rosnącym.

힌트

Wyjaśnienie przykładu: Zawodnicy o numerach 11, 22, 77, 88, 1111, 1515, 1717, 1919, 2929 są pomijani, gdyż nie mogą/nie chcą uczestniczyć w finale. Dziecięciu najlepszych zawodników wśród pozostałych ma numery 33, 44, 55, 66, 99, 1010, 1212, 1313, 1414, 1616. Następnie, pomijając zawodników o numerach 2020, 2121 oraz 3131, gdyż byli już w finale co najmniej dwukrotnie, otrzymujemy drugą dziesiątkę finalistów o numerach: 1818, 2222, 23∗23^∗, 2424, 2525, 2626, 2727, 2828, 3030, 3232.


∗^∗Twój kolega przewiduje, że zawodnik numer 2323 wygra finał!

예제1

  1. 예제 1

    입력
    35
    NIE 0
    NIE 0
    TAK 3
    TAK 0
    TAK 7
    TAK 5
    NIE 0
    NIE 0
    TAK 7
    TAK 1
    NIE 0
    TAK 8
    TAK 1
    TAK 3
    NIE 0
    TAK 2
    NIE 0
    TAK 1
    NIE 4
    TAK 2
    TAK 2
    TAK 1
    TAK 1
    TAK 0
    TAK 0
    TAK 0
    TAK 0
    TAK 0
    NIE 0
    TAK 1
    TAK 2
    TAK 0
    TAK 0
    TAK 0
    TAK 0
    
    예상 출력
    3 4 5 6 9 10 12 13 14 16 18 22 23 24 25 26 27 28 30 32