페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#6172

쿠키 1초 1024MB

문제

정올이는 쿠키를 만드는 것을 좋아한다. 그는 N 종류의 쿠키를 만들었다. 그는 i 번째 종류의 쿠키를 A_i개 만들었다 (1≤i≤N). 그가 만든 쿠키를 팔기 위해서 쿠키를 상자에 담을 것이다. 하지만, 다음과 같은 조건들이 충족되어야 한다.

  • 모든 상자에 대해서 그 상자에 들어있는 쿠키의 종류들은 서로 다르다.

  • 모든 상자에 대해서 그 상자에 들어있는 쿠키의 개수는 다음 M개의 숫자 중 하나와 같다: B_1,B_2,\dots,B_M.

정올이가 만든 쿠키의 정보와 쿠키를 상자에 담는 조건들이 주어졌을 때, 모든 쿠키를 상자에 담을 수 있는지 판단하는 프로그램을 작성하라. 또한, 모든 쿠키를 상자에 담을 수 있다면 최소한의 상자 개수로 쿠키를 담는 방법을 출력하라.


입력

다음 형태의 데이터가 표준 입력으로 주어진다.


N

A_1 A_2 \cdots A_N

M

B_1 B_2 \cdots B_M

제한

  • 1 ≤ N ≤ 15\,000

  • A_i ≥ 1 (1 ≤ i ≤ N)

  • A_1 + A_2 + \cdots + A_N ≤ 15\,000

  • 1 ≤ M ≤ N

  • 1 ≤ B_j ≤ N (1 ≤ j ≤ M)

  • B_j < B_{j+1} (1 ≤ j ≤ M - 1)

  • 주어진 값들은 모두 정수이다.


출력

모든 쿠키를 상자에 담을 수 있고 조건들이 충족된다면 사용된 상자의 개수를 x라 하고, k번째 상자에 들어있는 쿠키의 개수를 c_k라 하고, k번째 상자에 들어있는 쿠키의 종류들을 v_{k,1},v_{k,2},…,v_{k,c_k​}라 하자. 이러한 숫자들을 다음과 같은 형식으로 출력하라.


x

c_1 v_{1,1} v_{1,2} \cdots v_{1,c_1}

c_2 v_{2,1} v_{2,2} \cdots v_{2,c_2}

\vdots

c_x v_{x,1} v_{x,2} \cdots v_{x,c_x}

사용된 상자의 개수 x는 최소한의 개수여야 한다. 조건들을 충족하면서 쿠키를 상자에 담는 방법이 여러 가지 있다면 그 중 아무거나 하나를 출력해도 된다.

모든 쿠키를 상자에 담을 수 없거나 조건들이 충족되지 않는다면 -1을 출력하라.


부분문제

번호 점수 조건
#16점
  • N ≤ 500, A_i = 1 (1 ≤ i ≤ N)

#27점
  •   N ≤ 500, M = 1

#312점
  • A_1 + A_2 + \cdots + A_N ≤ 15

#445점
  • A_1 + A_2 + \cdots + A_N ≤ 500

#515점
  • A_1 + A_2 + \cdots + A_N ≤ 3\ 000

#615점
  • 추가 제한 조건이 없다.


예제1

입력
7
1111111
3
123
출력
3
217
226
3345

이 예제 입력에서, 7개의 쿠키를 3개의 상자에 담을 수 있고 조건들이 충족된다. 다음과 같이 쿠키를 담으면 된다.

  • 쿠키의 종류가 1,7 인 쿠키들을 첫 번째 상자에 담는다. 각 종류의 쿠키를 한 개씩 담는다.

  • 쿠키의 종류가 2,6 인 쿠키들을 두 번째 상자에 담는다. 각 종류의 쿠키를 한 개씩 담는다.

  • 쿠키의 종류가 3,4,5 인 쿠키들을 세 번째 상자에 담는다. 각 종류의 쿠키를 한 개씩 담는다.

프로그램이 위와 같이 쿠키를 담는 방법을 출력하면 정답으로 인정된다. 왜냐하면, 7개의 쿠키를 2개 이하의 상자에 담으며 조건들이 충족되는 방법은 없기 때문이다. 조건을 충족하면서 쿠키를 담는 방법은 여러 가지가 있을 수 있다.

이 예제 입력은 서브태스크 1, 3, 4, 5, 6의 제한을 충족한다.


예제2

입력
5
53124
1
4
출력
-1

이 예제 입력에서는 조건을 충족하는 것이 불가능하다. 따라서 -1을 출력한다.

이 예제 입력은 서브태스크 2, 3, 4, 5, 6의 제한을 충족한다.


예제3

입력
7
5442111
2
26
출력
7
6123456
221
231
241
271
232
232

이 예제 입력은 서브태스크 4, 5, 6의 제한을 충족한다.


출처

JOI 2022/2023 Spring Training Camp

역링크