#760
폭발 피해
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%
문제
가은이는 명의 적을 물리쳐야 하는 비디오 게임을 하고 있다. 각 적의 초기 체력은 으로 주어진다. () 가은이는 한 번의 공격으로 다음과 같은 과정을 수행할 수 있다.
- 살아있는(즉, 인) 적 를 선택한다.
- 적 와 그에 인접하며 살아있는 모든 적에게 의 피해를 준다. 구체적으로, 각 에 대해 이면 를 감소시킨다.
가은이를 도와 모든 적을 물리치기(모든 를 으로 만들기) 위해 필요한 최소 공격 횟수를 구하라.
추가로, 매개변수 ()이 주어진다. 만약 이라면, 최소 공격 횟수를 달성하면서 적은 수의 **런(run)**을 사용하는 구성을 출력해야 한다. 여기서 런이란 동일한 적을 연속해서 공격하는 단위를 의미한다.
구성을 출력할 때 런의 개수를 이라 하면, 먼저 을 한 줄에 출력하고 이어서 개의 줄에 각각 두 정수 와 ()을 출력한다. 이는 가은이가 번째 적을 연속해서 번 공격했음을 의미한다.
의 값에 따라 은 다음 조건을 만족해야 한다.
- : (이러한 구성이 항상 존재함이 증명되어 있다).
- : , 여기서 은 길이가 인 모든 체력 목록에 대해 가능한 '최소 런 개수'의 최댓값이다.
입력
첫째 줄에 테스트 케이스의 수 와 매개변수 이 주어진다. ()
각 테스트 케이스는 다음과 같이 구성된다:
첫째 줄에 이 주어진다.
둘째 줄에 이 공백으로 구분되어 주어진다.
모든 테스트 케이스에 대한 의 합은 을 초과하지 않는다.
출력
각 테스트 케이스마다 첫째 줄에 모든 적을 물리치기 위한 최소 공격 횟수를 출력한다.
만약 이라면, 위에 명시된 형식으로 과 그 뒤에 개의 줄을 추가로 출력한다. 조건을 만족하는 구성이 여러 가지라면 그중 아무거나 하나를 출력한다.
예제 입력 1
2 0
1
10
3
6 1 7
예제 출력 1
10
12
예제 입력 2
2 1
1
10
3
6 1 7
예제 출력 2
10
2
1 0
1 10
12
4
2 1
1 5
3 2
3 4
예제 입력 3
2 2
1
10
3
6 1 7
예제 출력 3
10
1
1 10
12
3
2 1
3 6
1 5
데이터 범위
- 입력 4-7:
- 입력 8-11:
- 입력 12-13:
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.