k석 롤러코스터에 줄 순서대로 그룹을 태우고 탑승객을 뒤로 보내며 R회 운행 수입을 계산합니다.
쉬움3시뮬레이션큐면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB롤러코스터는 한 번에 k명까지 태울 수 있다. 사람들은 그룹 단위로 줄을 서고, 한 그룹은 반드시 다 같이 타야 한다.
탑승은 줄의 맨 앞부터 그룹 단위로 진행한다. 남은 자리에 다음 그룹이 전부 들어가면 그 그룹을 태우고 그다음 그룹을 본다. 다음 그룹이 들어가지 못하면 거기서 탑승을 멈추며, 뒤에 있는 더 작은 그룹이 앞질러 타는 일은 없다. 태울 그룹이 남지 않았거나 다음 그룹이 들어가지 못하면 롤러코스터는 자리가 비어 있어도 그대로 출발한다.
한 번 탄 사람은 모두 다시 타고 싶어 하므로, 내린 그룹은 탔던 순서 그대로 줄의 맨 뒤에 다시 선다. 롤러코스터는 하루에 R번 운행하고 요금은 한 사람당 1유로다. 하루 동안 롤러코스터가 번 금액을 구한다.
R=4, k=6이고 그룹의 크기가 앞에서부터 1, 4, 2, 1인 경우를 보자. 첫 운행에는 앞의 두 그룹 1, 4가 타고 한 자리가 빈 채로 출발한다. 크기가 2인 그룹은 들어가지 못하고, 그 뒤의 크기 1인 그룹이 앞지를 수도 없기 때문이다. 이제 줄은 2, 1, 1, 4가 된다. 두 번째 운행에는 2, 1, 1이 타서 4명을 태우고 줄은 4, 2, 1, 1이 된다. 세 번째 운행에는 4, 2가 타서 6명을 태우고 줄은 1, 1, 4, 2가 된다. 마지막 운행에는 1, 1, 4가 타서 6명을 태운다. 하루 동안 번 금액은 21유로다.
첫 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 두 줄로 이루어진다. 첫 줄에 세 정수 R, k, N이 공백으로 구분되어 주어진다. 둘째 줄에 N개의 정수 g0,g1,…,gN−1이 공백으로 구분되어 주어지고, gi는 줄의 앞에서 i+1번째 그룹의 인원 수다.
각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 롤러코스터가 하루 동안 번 금액(유로)이다.