시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB101221926.761%

문제

한과영 학생들이 정보과학2 시험을 치기 위해 일렬로 앉아 있다. 각 학생들은 $1$반에서 $N$반 중 하나의 반에 소속되어 있다. 안타깝게도, 같은 반 학생끼리는 서로 너무 가까이 앉아 있다면 치팅을 할 수도 있다.

$N$개의 양의 정수 $K_1$, $K_2$, $\cdots$, $K_N$이 주어진다. $K_i$는 $i$반에 속한 학생의 수를 의미한다. 당신은 학생들을 잘 정렬해서 임의의 두 같은 반 학생들 사이의 거리의 최솟값최대화하려고 한다. 조건을 만족하는 학생 정렬 방법을 찾아보자. 정확히는, $i$번째 원소가 왼쪽에서 $i$번째로 앉게 되는 학생의 반 번호를 나타내는 수열 $X$를 찾아보자.

예를 들어, $N=3$이고 $K_1=1,K_2=2,K_3=3$인 경우를 살펴보자. 이는 $1$반 학생이 $1$명, $2$반 학생이 $2$명, $3$반 학생이 $3$명 있다는 뜻이다.

이 경우 $X=[3, 2, 3, 1, 3, 2]$은 하나의 답이 될 수 있다. $X_i = X_j$를 만족하는 두 정수 $i$, $j$에 대해 $|i-j|$의 최솟값이 $2$이기 때문에, 임의의 두 같은 반 학생들 사이의 거리의 최솟값은 $2$이다. 이 값이 $2$보다 큰 정렬 방법은 존재하지 않는다는 것을 증명할 수 있다.

입력

첫 번째 줄에 정수 $N$이 주어진다.

두 번째 줄에 $N$개의 정수 $K_1$, $K_2$, $\cdots$, $K_N$이 주어진다.

출력

조건을 만족하는 수열 $X$에 대해 $\mathrm{sum}(K)$개의 정수 $X_1, X_2, \cdots, X_{\mathrm{sum}(K)}$을 출력한다.

답이 여러 개 존재한다면 아무거나 출력해도 상관없다.

제한

  • $1 \leq N \leq 10^5$
  • $1 \leq \mathrm{sum}(K) \leq 10^{5}$

예제 입력 1

3
2 2 2

예제 출력 1

1 2 3 1 2 3

예제 입력 2

3
1 2 3

예제 출력 2

3 2 3 1 3 2
W3sicHJvYmxlbV9pZCI6IjI3OTg3IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjZTU4XHVkMzA1IFx1YmMyOVx1YzljMCIsImRlc2NyaXB0aW9uIjoiPHA+XHVkNTVjXHVhY2ZjXHVjNjAxIFx1ZDU1OVx1YzBkZFx1YjRlNFx1Yzc3NCBcdWM4MTVcdWJjZjRcdWFjZmNcdWQ1NTkyIFx1YzJkY1x1ZDVkOFx1Yzc0NCBcdWNlNThcdWFlMzAgXHVjNzA0XHVkNTc0IFx1Yzc3Y1x1YjgyY1x1Yjg1YyBcdWM1NDlcdWM1NDQgXHVjNzg4XHViMmU0LiBcdWFjMDEgXHVkNTU5XHVjMGRkXHViNGU0XHVjNzQwICQxJFx1YmMxOFx1YzVkMFx1YzExYyAkTiRcdWJjMTggXHVjOTExIFx1ZDU1OFx1YjA5OFx1Yzc1OCBcdWJjMThcdWM1ZDAgXHVjMThjXHVjMThkXHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNC4gXHVjNTQ4XHVkMGMwXHVhZTVkXHVhYzhjXHViM2M0LCBcdWFjMTlcdWM3NDAgXHViYzE4IFx1ZDU1OVx1YzBkZFx1YjA3Y1x1YjlhY1x1YjI5NCBcdWMxMWNcdWI4NWMgXHViMTA4XHViYjM0IFx1YWMwMFx1YWU0Y1x1Yzc3NCBcdWM1NDlcdWM1NDQgXHVjNzg4XHViMmU0XHViYTc0IFx1Y2U1OFx1ZDMwNVx1Yzc0NCBcdWQ1NjAgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+JE4kXHVhYzFjXHVjNzU4IFx1YzU5MVx1Yzc1OCBcdWM4MTVcdWMyMTggJEtfMSQsICRLXzIkLCAkXFxjZG90cyQsICRLX04kXHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gJEtfaSRcdWIyOTQgJGkkXHViYzE4XHVjNWQwIFx1YzE4ZFx1ZDU1YyBcdWQ1NTlcdWMwZGRcdWM3NTggXHVjMjE4XHViOTdjIFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC4gXHViMmY5XHVjMmUwXHVjNzQwIFx1ZDU1OVx1YzBkZFx1YjRlNFx1Yzc0NCBcdWM3OTggXHVjODE1XHViODJjXHVkNTc0XHVjMTFjIFx1Yzc4NFx1Yzc1OFx1Yzc1OCBcdWI0NTAgXHVhYzE5XHVjNzQwIFx1YmMxOCBcdWQ1NTlcdWMwZGRcdWI0ZTQgXHVjMGFjXHVjNzc0XHVjNzU4IFx1YWM3MFx1YjlhY1x1Yzc1OCA8c3Ryb25nPlx1Y2Q1Y1x1YzE5Zlx1YWMxMjxcL3N0cm9uZz5cdWM3NDQgPHN0cm9uZz5cdWNkNWNcdWIzMDBcdWQ2NTQ8XC9zdHJvbmc+XHVkNTU4XHViODI0XHVhY2UwIFx1ZDU1Y1x1YjJlNC4gXHVjODcwXHVhYzc0XHVjNzQ0IFx1YjljY1x1Yzg3MVx1ZDU1OFx1YjI5NCBcdWQ1NTlcdWMwZGQgXHVjODE1XHViODJjIFx1YmMyOVx1YmM5NVx1Yzc0NCBcdWNjM2VcdWM1NDRcdWJjZjRcdWM3OTAuIFx1YzgxNVx1ZDY1NVx1ZDc4OFx1YjI5NCwgJGkkXHViYzg4XHVjOWY4IFx1YzZkMFx1YzE4Y1x1YWMwMCBcdWM2N2NcdWNhYmRcdWM1ZDBcdWMxMWMgJGkkXHViYzg4XHVjOWY4XHViODVjIFx1YzU0OVx1YWM4YyBcdWI0MThcdWIyOTQgXHVkNTU5XHVjMGRkXHVjNzU4IDxzdHJvbmc+XHViYzE4IFx1YmM4OFx1ZDYzODxcL3N0cm9uZz5cdWI5N2MgXHViMDk4XHVkMGMwXHViMGI0XHViMjk0IFx1YzIxOFx1YzVmNCAkWCRcdWI5N2MgXHVjYzNlXHVjNTQ0XHViY2Y0XHVjNzkwLjxcL3A+XHJcblxyXG48cD5cdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0LCAkTj0zJFx1Yzc3NFx1YWNlMCAkS18xPTEsS18yPTIsS18zPTMkXHVjNzc4IFx1YWNiZFx1YzZiMFx1Yjk3YyBcdWMwYjRcdWQzYjRcdWJjZjRcdWM3OTAuIFx1Yzc3NFx1YjI5NCAkMSRcdWJjMTggXHVkNTU5XHVjMGRkXHVjNzc0ICQxJFx1YmE4NSwgJDIkXHViYzE4IFx1ZDU1OVx1YzBkZFx1Yzc3NCAkMiRcdWJhODUsICQzJFx1YmMxOCBcdWQ1NTlcdWMwZGRcdWM3NzQgJDMkXHViYTg1IFx1Yzc4OFx1YjJlNFx1YjI5NCBcdWI3M2JcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Yzc3NCBcdWFjYmRcdWM2YjAgJFg9WzMsIDIsIDMsIDEsIDMsIDJdJFx1Yzc0MCBcdWQ1NThcdWIwOThcdWM3NTggXHViMmY1XHVjNzc0IFx1YjQyMCBcdWMyMTggXHVjNzg4XHViMmU0LiAkWF9pID0gWF9qJFx1Yjk3YyBcdWI5Y2NcdWM4NzFcdWQ1NThcdWIyOTQgXHViNDUwIFx1YzgxNVx1YzIxOCAkaSQsICRqJFx1YzVkMCBcdWIzMDBcdWQ1NzQgJHxpLWp8JFx1Yzc1OCBcdWNkNWNcdWMxOWZcdWFjMTJcdWM3NzQgJDIkXHVjNzc0XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCwgXHVjNzg0XHVjNzU4XHVjNzU4IFx1YjQ1MCBcdWFjMTlcdWM3NDAgXHViYzE4IFx1ZDU1OVx1YzBkZFx1YjRlNCBcdWMwYWNcdWM3NzRcdWM3NTggXHVhYzcwXHViOWFjXHVjNzU4IDxzdHJvbmc+XHVjZDVjXHVjMTlmXHVhYzEyPFwvc3Ryb25nPlx1Yzc0MCAkMiRcdWM3NzRcdWIyZTQuIFx1Yzc3NCBcdWFjMTJcdWM3NzQgJDIkXHViY2Y0XHViMmU0IFx1ZDA3MCBcdWM4MTVcdWI4MmMgXHViYzI5XHViYzk1XHVjNzQwIFx1Yzg3NFx1YzdhY1x1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTRcdWIyOTQgXHVhYzgzXHVjNzQ0IFx1Yzk5ZFx1YmE4NVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVjODE1XHVjMjE4ICROJFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjQ1MCBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwICROJFx1YWMxY1x1Yzc1OCBcdWM4MTVcdWMyMTggJEtfMSQsICRLXzIkLCAkXFxjZG90cyQsICRLX04kXHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWM4NzBcdWFjNzRcdWM3NDQgXHViOWNjXHVjODcxXHVkNTU4XHViMjk0IFx1YzIxOFx1YzVmNCAkWCRcdWM1ZDAgXHViMzAwXHVkNTc0ICRcXG1hdGhybXtzdW19KEspJFx1YWMxY1x1Yzc1OCBcdWM4MTVcdWMyMTggJFhfMSwgWF8yLCBcXGNkb3RzLCBYX3tcXG1hdGhybXtzdW19KEspfSRcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZjVcdWM3NzQgXHVjNWVjXHViN2VjIFx1YWMxYyBcdWM4NzRcdWM3YWNcdWQ1NWNcdWIyZTRcdWJhNzQgXHVjNTQ0XHViYjM0XHVhYzcwXHViMDk4IFx1Y2Q5Y1x1YjgyNVx1ZDU3NFx1YjNjNCBcdWMwYzFcdWFkMDBcdWM1YzZcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIiwibGltaXQiOiI8dWw+XHJcblx0PGxpPiQxIFxcbGVxIE4gXFxsZXEgMTBeNSQ8XC9saT5cclxuXHQ8bGk+JDEgXFxsZXEgXFxtYXRocm17c3VtfShLKSBcXGxlcSAxMF57NX0kPFwvbGk+XHJcbjxcL3VsPlxyXG4ifSx7InByb2JsZW1faWQiOiIyNzk4NyIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IlByZXZlbnQgQ2hlYXRpbmciLCJkZXNjcmlwdGlvbiI6IjxwPktTQSBzdHVkZW50cyBhcmUgc2l0dGluZyBpbiBsaW5lIHRvIHRha2UgdGhlIENvbXB1dGVyIFNjaWVuY2UgMiBGaW5hbCBFeGFtLiBFYWNoIHN0dWRlbnQgaXMgaW4gb25lIGNsYXNzIGJldHdlZW4gY2xhc3MgJDEkIGFuZCBjbGFzcyAkTiQuIFVuZm9ydHVuYXRlbHksIHN0dWRlbnRzIGluIHRoZSBzYW1lIGNsYXNzIGNhbiBjaGVhdCBpZiB0aGV5IHNpdCB0b28gY2xvc2UgdG8gZWFjaCBvdGhlci48XC9wPlxyXG5cclxuPHA+WW91IGFyZSBnaXZlbiAkTiQgcG9zaXRpdmUgaW50ZWdlcnMgJEtfMSQsICRLXzIkLCAkXFxjZG90cyQsICRLX04kLiAkS19pJCBpcyB0aGUgbnVtYmVyIG9mIHN0dWRlbnRzIGluIHRoZSBjbGFzcyB3aG9zZSA8c3Ryb25nPmNsYXNzIG51bWJlcjxcL3N0cm9uZz4mbmJzcDtpcyAkaSQuIFlvdSBtdXN0IG9yZGVyIHRoZSBzdHVkZW50cyB0byA8c3Ryb25nPm1heGltaXplPFwvc3Ryb25nPiZuYnNwO3RoZSA8c3Ryb25nPm1pbmltdW08XC9zdHJvbmc+Jm5ic3A7ZGlzdGFuY2UgYmV0d2VlbiBhbnkgdHdvIHN0dWRlbnRzIGluIHRoZSBzYW1lIGNsYXNzLiBZb3Ugc2hvdWxkIHNvcnQgdGhlIHN0dWRlbnRzIHRvIHNhdGlzZnkgdGhlIGNvbmRpdGlvbi4gUHJlY2lzZWx5LCBmaW5kIHRoZSBhcnJheSAkWCQgd2hvc2UgJGkkLXRoIGVsZW1lbnQgaXMgdGhlIDxzdHJvbmc+Y2xhc3MgbnVtYmVyPFwvc3Ryb25nPiZuYnNwO29mIHRoZSAkaSQtdGggc3R1ZGVudCBmcm9tIGxlZnQuPFwvcD5cclxuXHJcbjxwPkZvciBleGFtcGxlLCBjb25zaWRlciB0aGUgY2FzZSAkTj0zJCBhbmQmbmJzcDskS18xPTEsS18yPTIsS18zPTMkLiBJdCBtZWFucyB0aGF0IHRoZXJlIGlzICQxJCBzdHVkZW50IGluIGNsYXNzICQxJCwgJDIkIHN0dWRlbnRzIGluIGNsYXNzICQyJCwgYW5kICQzJCBzdHVkZW50cyBpbiBjbGFzcyAkMyQuPFwvcD5cclxuXHJcbjxwPkluIHRoaXMgY2FzZSwgJFg9WzMsIDIsIDMsIDEsIDMsIDJdJCBjYW4gYmUgb25lIHZhbGlkIHNvbHV0aW9uLiBGb3IgZXZlcnkgdHdvIGludGVnZXJzICRpJCwgJGokIHN1Y2ggdGhhdCAkWF9pID0gWF9qJCBob2xkcywgdGhlIG1pbmltdW0gdmFsdWUgb2YgJHxpLWp8JCBpcyAkMiQuIFRoZXJlZm9yZSwgdGhlIDxzdHJvbmc+bWluaW11bTxcL3N0cm9uZz4mbmJzcDtkaXN0YW5jZSBiZXR3ZWVuIGFueSB0d28gc3R1ZGVudHMgaW4gdGhlIHNhbWUgY2xhc3MgaXMgJDIkLiBJdCBjYW4gYmUgcHJvdmVkIHRoYXQgd2UgY2Fubm90IHNvcnQgdGhlIHN0dWRlbnRzIHRvIG1ha2UgdGhlIGRpc3RhbmNlIGxhcmdlciB0aGFuICQyJC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIGNvbnRhaW5zIGFuIGludGVnZXIgJE4kLjxcL3A+XHJcblxyXG48cD5UaGUgc2Vjb25kIGxpbmUgY29udGFpbnMgJE4kIGludGVnZXJzICRLXzEkLCAkS18yJCwgJFxcY2RvdHMkLCAkS19OJC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5QcmludCAkXFxtYXRocm17c3VtfShLKSQmbmJzcDtpbnRlZ2VycyAkWF8xLCBYXzIsIFxcY2RvdHMsIFhfe1xcbWF0aHJte3N1bX0oSyl9JCB3aGVyZSAkWCQgaXMgYW4gYXJyYXkgd2hpY2ggc2F0aXNmaWVzIGFsbCBjb25kaXRpb25zLjxcL3A+XHJcblxyXG48cD5JZiB0aGVyZSBhcmUgbXVsdGlwbGUgc29sdXRpb25zLCBwcmludCBhbnkgb2YgdGhlbS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIiwibGltaXQiOiI8dWw+XHJcblx0PGxpPiQxIFxcbGVxIE4gXFxsZXEgMTBeNSQ8XC9saT5cclxuXHQ8bGk+JDEgXFxsZXEgXFxtYXRocm17c3VtfShLKSBcXGxlcSAxMF57NX0kPFwvbGk+XHJcbjxcL3VsPlxyXG4ifV0=

출처

High School > 한국과학영재학교 > 2022 Fall CS2 Final Mock Exam F번