부카조이드

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

n+1n+1개의 칸이 한 줄로 놓여 있고, 각 칸에는 00번부터 nn번까지 번호가 매겨져 있다. 먹보 로봇은 00번 칸에서 출발한다. 00번을 제외한 각 칸에는 부카조이드가 들어 있으며, 로봇이 어떤 칸에 도착하면 그 칸의 부카조이드를 먹는다.

로봇은 앞으로만 움직이며, 다음 두 종류의 점프만 할 수 있다.

  • 한 칸 점프: 바로 다음 칸으로 이동한다(거리 11).
  • 두 칸 점프: 한 칸을 건너뛴다(거리 22).

로봇은 한 칸 점프를 정확히 mm번, 두 칸 점프를 정확히 kk번 하며, 이 값들은 m+2k=nm + 2k = n을 만족한다. 따라서 모든 점프를 마치면 로봇은 정확히 nn번 칸에 도착한다. 이동하는 동안 로봇은 도착한 모든 칸의 부카조이드를 모은다.

로봇이 모을 수 있는 부카조이드의 최대 개수를 구하여라.

입력

첫째 줄에 세 정수 nn (1n1001 \le n \le 100), mm (0m1000 \le m \le 100), kk (0k1000 \le k \le 100)가 주어지며, m+2k=nm + 2k = n을 만족한다.

둘째 줄에 nn개의 정수가 주어진다. 이는 1,2,,n1, 2, \dots, n번 칸에 들어 있는 부카조이드의 개수를 순서대로 나타내며, 각 값은 00 이상 100100 이하이다.

출력

첫째 줄에 모을 수 있는 부카조이드의 최대 개수를 출력한다.

둘째 줄에는 이 최댓값을 달성하는 경로로, 로봇이 지나는 칸 번호 m+k+1m + k + 1개를 00번 칸부터 순서대로 출력한다. 최댓값을 달성하는 경로가 여러 개이면, 칸 번호 수열이 사전순으로 가장 앞서는 것을 출력한다(두 수열을 앞에서부터 위치별로 비교하여, 처음으로 달라지는 위치에서 값이 더 작은 쪽이 앞선다).