| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 72 | 48 | 35 | 63.636% |
당신은 $N$명의 참가자 중 $K$명을 남기는 서바이벌 프로그램을 만들고 있다. $N-K$개의 대결을 통해 최후 생존하는 $K$명을 뽑으려고 한다.
대결은 두 사람끼리 이루어지며, 패배한 쪽은 탈락한다.
서로 다른 두 사람 $i$와 $j$의 대결은 $M_{ij}$의 화제성을 가지고 있다. 대회의 흥행도는 모든 대결의 화제성의 합을 말한다.
당신은 대회의 흥행도를 최대화하기 위해 대결의 결과를 맘대로 정할 것이다.
대회의 흥행도의 최댓값과, 그 때의 대결 순서를 알아내 보자!
첫째 줄에 참가자의 수 $N,ドル 생존자의 수 $K$가 공백으로 구분되어 주어진다. $(1 \leq K \leq N \leq 1,000円)$
둘째 줄부터 $N$개의 줄에 걸쳐 $i$와 $j$가 대결하였을 때의 화제성을 나타내는 값 $M_{i1}, M_{i2}, \cdots, M_{iN}$이 공백으로 구분되어 주어진다.
주어지는 모든 수는 정수이다.
첫째 줄에 대회의 흥행도의 최댓값을 출력한다.
다음 줄부터 $N-K$개 줄에 걸쳐 $i$번째 대결의 승자와 패자를 공백으로 구분하여 출력한다.
5 2 0 4 7 10 2 4 0 9 3 8 7 9 0 5 1 10 3 5 0 6 2 8 1 6 0
27 4 1 2 3 5 2