시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
새 컴퓨터 게임의 출시를 앞두고, 한 가게 앞에 게이머들이 줄을 서서 문이 열리기를 기다리고 있다.
기다리는 동안 게이머들은 최근에 한 게임 이야기를 나누다가, 가끔 현실의 주제로 대화가 옮겨 간다. 그중 빠질 수 없는 주제는 각자의 컴퓨터 사양이다. 특히 그래픽 카드에 들어 있는 메모리 용량은 자랑과 허세의 좋은 소재가 된다.
이런 대화가 불쾌해지는 경우가 많아지자, 가게는 지나치게 오만하다고 판단되는 게이머를 줄에 들어오지 못하게 하기로 했다. 판단을 객관적으로 하기 위해 다음과 같은 간단한 수학적 모델을 만들었다. 새 게이머가 줄에 들어오려고 할 때, 그 게이머의 그래픽 카드 메모리 용량을 이미 줄에 있는 각 게이머의 메모리 용량과 비교한다. 새 게이머의 메모리 용량을 기존 게이머 한 명의 메모리 용량으로 나눈 몫을 각각 내림한 뒤, 그 값을 모두 더한 것이 새 게이머의 오만도이다.
예를 들어 이미 줄에 있는 세 명의 그래픽 카드 메모리 용량이 각각 3, 1, 2MB라고 하자. 메모리 용량이 3MB인 새 게이머의 오만도는 1+3+1=5이다.
가게는 새 게이머의 오만도가 현재 줄에 있는 사람 수보다 크면 그 게이머를 줄에 들여보내지 않는다. 위 상황에서 메모리 용량이 3MB인 게이머는 오만도가 5이므로 거절된다. 반면 메모리 용량이 2MB인 게이머의 오만도는 0+2+1=3이고, 이는 현재 줄에 있는 사람 수 3 이하이므로 허용된다.
줄에 선 게이머들의 오만도가 도착한 순서대로 주어질 때, 각 게이머의 그래픽 카드 메모리 용량으로 가능한 수열 하나를 구하는 프로그램을 작성하라.
첫째 줄에 줄에 선 게이머의 수 N이 주어진다. (1 ≤ N ≤ 100 000)
둘째 줄에는 N개의 음이 아닌 정수가 주어진다. 이 수들은 게이머들이 도착한 순서대로의 오만도이다. 또한 1부터 세었을 때 k번째 게이머의 오만도는 항상 k보다 작다.
게이머들이 도착한 순서대로, 각 게이머의 그래픽 카드 메모리 용량을 나타내는 정수 N개를 한 줄에 출력한다. 각 메모리 용량은 1 이상 10^9 미만의 정수여야 한다. 가능한 답이 여러 개일 수 있지만, 답은 항상 존재한다.