CF1798F.Gifts from Grandfather Ahmed
省选/NOI-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Grandfather Ahmed's School has n+1 students. The students are divided into k classes, and si students study in the i-th class. So, s1+s2+…+sk=n+1.
Due to the upcoming April Fools' Day, all students will receive gifts!
Grandfather Ahmed planned to order n+1 boxes of gifts. Each box can contain one or more gifts. He plans to distribute the boxes between classes so that the following conditions are satisfied:
- Class number i receives exactly si boxes (so that each student can open exactly one box).
- The total number of gifts in the boxes received by the i-th class should be a multiple of si (it should be possible to equally distribute the gifts among the si students of this class).
Unfortunately, Grandfather Ahmed ordered only n boxes with gifts, the i-th of which contains ai gifts.
Ahmed has to buy the missing gift box, and the number of gifts in the box should be an integer between 1 and 106. Help Ahmed to determine, how many gifts should the missing box contain, and build a suitable distribution of boxes to classes, or report that this is impossible.
艾哈迈德爷爷的学校共有 n+1 名学生。这些学生被分入 k 个班级,其中第 i 个班级有 si 名学生。因此,满足 s1+s2+…+sk=n+1。
由于即将到来的愚人节,所有学生都将收到礼物!
艾哈迈德爷爷原计划订购 n+1 个礼物盒。每个盒子可装一个或多个礼物。他打算将这些盒子分配给各个班级,使得满足以下条件:
- 第 i 个班级恰好收到 si 个盒子(从而保证每名学生恰好打开一个盒子);
- 第 i 个班级所收到的所有盒子中的礼物总数必须是 si 的倍数(即这些礼物可以被该班的 si 名学生平均分配)。
不幸的是,艾哈迈德爷爷只订购了 n 个装有礼物的盒子,其中第 i 个盒子含有 ai 个礼物。
艾哈迈德必须购买缺失的那个礼物盒,且该盒中礼物数量必须为介于 1 到 106 之间的整数。请帮助艾哈迈德确定:缺失的盒子中应装多少个礼物,并构造一种满足上述条件的盒子到班级的分配方案;若不可能实现,请报告这一点。
输入格式
The first line of the input contains two integers n and k (1≤n,k≤200, k≤n+1).
The second line contains n integers a1,a2,…,an (1≤ai≤106) — the number of gifts in the available boxes.
The third line contains k integers s1,s2,…,sk (1≤si≤n+1) — the number of students in classes. It is guaranteed that ∑si=n+1.
输入的第一行包含两个整数 n 和 k(1≤n,k≤200,且 k≤n+1)。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤106)——表示可用盒子中礼物的数量。
第三行包含 k 个整数 s1,s2,…,sk(1≤si≤n+1)——表示各班级的学生人数。保证 ∑si=n+1。
输出格式
If there is no way to buy the remaining box, output the integer −1 in a single line.
Otherwise, in the first line, output a single integer s — the number of gifts in the box that Grandfather Ahmed should buy (1≤s≤106).
Next, in k lines, print the distribution of boxes to classes. In the i-th line print si integers — the sizes of the boxes that should be sent to the i-th class.
If there are multiple solutions, print any of them.
如果无法购买剩余的盒子,则在单独一行中输出整数 −1。
否则,在第一行输出一个整数 s —— 祖父艾哈迈德应购买的盒子中的礼物数量(1≤s≤106)。
接下来,在 k 行中,输出盒子分配给各班级的方案。在第 i 行输出 si 个整数 —— 应发送给第 i 个班级的盒子的尺寸。
若存在多种解法,输出任意一种即可。
输入输出样例
输入#1
4 2 7 7 7 127 2 3
输出#1
1 7 7 7 127 1
输入#2
18 4 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 6 1 9 3
输出#2
9 7 1 7 6 5 4 9 1 2 3 8 3 2 9 8 9 6 5 4
说明/提示
In the first test, Grandfather Ahmed can buy a box with just 1 gift. After that, two boxes with 7 gifts are sent to the first class. 7+7=14 is divisible by 2. And the second class gets boxes with 1,7,127 gifts. 1+7+127=135 is evenly divisible by 3.
In the second test, the classes have sizes 6, 1, 9, and 3. We show that the available boxes are enough to distribute into classes with sizes 6, 9, 3, and in the class with size 1, you can buy a box of any size. In class with size 6 we send boxes with sizes 7, 1, 7, 6, 5, 4. 7+1+7+6+5+4=30 is divisible by 6. In class with size 9 we send boxes with sizes 1, 2, 3, 8, 3, 2, 9, 8, 9. 1+2+3+8+3+2+9+8+9=45 is divisible by 9. The remaining boxes (6, 5, 4) are sent to the class with size 3. 6+5+4=15 is divisible by 3.
在第一个测试用例中,祖父艾哈迈德可以购买一个仅含 1 件礼物的盒子。随后,向第一个班级发送两个各含 7 件礼物的盒子,7+7=14 可被 2 整除。第二个班级则收到含 1、7、127 件礼物的盒子,1+7+127=135 可被 3 整除。
在第二个测试用例中,各班级人数分别为 6、1、9 和 3。我们说明:现有盒子足以分配给大小为 6、9、3 的班级;而对于人数为 1 的班级,可购买任意大小的盒子。在人数为 6 的班级中,我们发送大小分别为 7、1、7、6、5、4 的盒子,其总和 7+1+7+6+5+4=30 可被 6 整除。在人数为 9 的班级中,我们发送大小分别为 1、2、3、8、3、2、9、8、9 的盒子,其总和 1+2+3+8+3+2+9+8+9=45 可被 9 整除。剩余的盒子(大小为 6、5、4)发送至人数为 3 的班级,其总和 6+5+4=15 可被 3 整除。
输入解题思路,AI测评打分。不知道怎么写?