10771. Розсадка делегацій


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

На конференцію приїхали представники \(M\) делегацій, яких треба розсадити за \(N\) столами на вечерю.

Відомо скільки представників кожної делегації є, та скільки осіб може вмістити кожен стіл.

Необхідно розсадити людей за столами таким чином, щоб за одним столом не було представників з однієї делегації.

Вхідні дані

В першому рядку \(M,N\) - кількість делегацій та столів відповідно. (\(1 \le M \le 150\) , \(1 \le N \le 270\))

В другому рядку \(M\) цілих чисел \(Di\) - кількість осіб в кожній делегації

В третьому рядку \(N\) цілих чисел \(Ti\) - кількість осіб яку може вмістити кожен стіл

Вихідні дані

В першому рядку виведіть 1 якщо розсадка існує, і 0 в іншому випадку.
Якщо розсадка існує, то в наступних \(M\) рядках виведіть номера столів за якими будуть сидіти представники кожної делегації

Приклад вхідних даних

4 5
4 5 3 5
3 5 2 6 4

Приклад вихідних даних

1
1 2 4 5
1 2 3 4 5
2 4 5
1 2 3 4 5

Коментарі

Ще немає коментарів.