아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

버튼

면접 대비

시간 제한1초메모리 제한512 MB

요약
단일 증가와 전체 최대값 채우기 연산을 처리하여 최종 계수기 값을 구합니다.
난이도

보통10점 중 5점

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

문제

n+1n+1개의 버튼이 달린 장난감이 있다. 처음 nn개의 버튼 각각의 위에는 작은 계수기가 하나씩 있으며, 모두 처음에는 00을 가리킨다. 어떤 계수기 아래의 버튼을 누르면 그 계수기의 값이 11 증가한다.

n+1n+1번 버튼은 특별하게 동작한다. 이 버튼을 누르면, 지금까지 장난감의 어떤 계수기에든 나타난 적이 있는 값 중 가장 큰 값으로 nn개의 계수기가 모두 바뀐다. 예를 들어 n=5n = 5이고 계수기들이 각각 00, 00, 11, 22, 00을 가리키고 있을 때 n+1n+1번(즉 66번) 버튼을 누르면 모든 계수기가 22를 가리키게 된다.

버튼을 누른 순서가 주어질 때, 모든 조작이 끝난 뒤 각 계수기가 가리키는 값을 구하여라.

입력

첫째 줄에 두 정수 nn, mm (1≤n,m≤1061 \le n, m \le 10^6)이 주어진다. 각각 계수기의 개수와 수행한 조작의 횟수를 의미한다. 둘째 줄에는 mm개의 정수 p1,p2,…,pmp_1, p_2, \dots, p_m (1≤pi≤n+11 \le p_i \le n+1)이 주어지며, 이는 차례대로 누른 버튼의 번호이다.

출력

첫째 줄에 nn개의 정수를 공백 하나로 구분하여 출력한다. 이는 모든 조작이 끝난 뒤 각 계수기가 차례대로 가리키는 값이다.

예제3

  1. 예제 1

    입력
    5 7
    3 4 4 6 1 4 4
    
    예상 출력
    3 2 2 4 2
    
  2. 예제 2

    입력
    7 10
    1 1 1 8 1 1 1 8 2 7
    
    예상 출력
    6 7 6 6 6 6 7
    
  3. 예제 3

    입력
    8 10
    1 9 2 9 3 9 4 9 5 9
    
    예상 출력
    5 5 5 5 5 5 5 5