페이지

13414번: 수강신청

https://www.acmicpc.net/problem/13414


$O(n)$

마지막 신청을 기준으로 최대 k개를 순서대로 출력한다.

#include<cstdio>
#include<unordered_map>
using namespace std;
int k, l, a[500000];
unordered_map<intint> mp;
int main() {
    scanf("%d%d", &k, &l);
    for (int i = 0; i < l; i++) scanf("%d", a + i), mp[a[i]] = i;
    for (int i = 0; i < l&&k; i++) if (mp[a[i]] == i) printf("%08d\n", a[i]), k--;
    return 0;
}

댓글 없음 :

댓글 쓰기