시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 512 MB 131 55 38 64.407%

문제

싱글 CPU에서 여러개의 작업을 실행할 때, 스케줄러는 어떤 작업을 언제 실행해야할지 CPU에게 알려준다.

이번 문제에서 살펴볼 스케줄러는 라운드 로빈 스케줄러이다. 총 작업은 N개가 있으며, 0번부터 N-1번까지 번호가 매겨져 있다. 스케줄러는 각 작업을 0번 작업부터 순서대로 한 번에 1초씩 실행시킨다. 모든 작업을 순서대로 실행시킨 후에는 다시 0번 작업부터 실행을 시작한다. 이 때, 완료된 작업이 있으면, 그 작업은 앞으로 실행시키지 않는다.

각 작업을 수행해야하는 시간이 주어졌을 때, 각 작업이 언제 완료되는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 작업의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 각 작업을 수행해야하는 시간이 공백으로 구분되어 주어진다. 각 작업을 수행해야하는 시간은 1보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다.

출력

첫째 줄부터 N개의 줄에 각 작업을 완료하는데 필요한 시간을 0번 작업부터 출력한다.

예제 입력

4
2 1 2 4

예제 출력

5
2
6
9

예제 입력 2

3
1 2 3

예제 출력 2

1
4
6

예제 입력 3

4
3 2 2 1

예제 출력 3

8
6
7
4

예제 입력 4

5
8 1 3 3 8

예제 출력 4

22
2
11
12
23

힌트

출처