【题目描述】
校长给钱主任的分班条件是这样子的:
首先有M个学生,分数从高到低已经排序好了。
其次要分成至多N个班。
每个班必须要有至少A个至多B个小朋友。
一个班的学生,他们的分数必须是连在一起的。也就是说,如果第3个小朋友和第5个小朋友在一间教室,第4个小朋友也必须和他们在一起。
校长还给出了一个评定分班好不好的标准。
每个学生有一个敏感指数,X[i](1≤i≤M)。并且,有一个变量Average=∑i=1MMX[i]。为了方便计算,Average 取下整,注意是先加起来再除,不是每次除再加。
每个教室有一个舒适程度G[i] 。而g[i] 表示的是第i个小朋友在哪个教室。
现在校长要求最小化评价指数∑i=1M(X[i]−Average)2×G[g[i]] 。
【输入】
本题目有多组数据。
第一行有一个整数case(case≤10),表示有case组数据。
接下来对于每组数据的第一行有4个正整数,依次是M,N,A,B。
第二行有M个正整数,用空格隔开,分别是X[1],X[2],…,X[M]。
第三行有N个正整数,用空格隔开,分别是G[1],G[2],…,G[N]。
【输出】
对于每组数据,要输出三个正整数,以空格隔开,不同数据之间要换行。
三个正整数分别为sigma,class,last。分别表示最小的评价指数。在评价指数最小的情况下,安排的教室的最小数目。在评价指数、安排教师数目最小的情况下,最后一个教室的人数的最小数目。
【输入样例】
文本
1
10 3 1 4
16 11 12 13 10 15 16 17 18 14
4 5 1
【输出样例】
【提示】
【样例解释】
前4个,后4个,中间2个。
【数据规模】
| 编号 |
M |
N |
AB |
X |
G |
| 1 |
5 |
1 |
1≤A≤B≤M |
1≤X[i]≤100000 |
−1000≤G[i]≤1000 |
| 2 |
≤10 |
≤3 |
|
|
|
| 3 |
≤100 |
≤10 |
|
|
|
| 4 |
≤1000 |
≤50 |
|
|
|
| 5 |
≤10000 |
≤200 |
0≤G[i]≤1000 |
|
|
| 6 |
|
|
|
|
|
| 7 |
|
|
|
|
|
| 8 |
−1000≤G[i]≤1000 |
|
|
|
|
| 9 |
|
|
|
|
|
| 10 |
|
|
|
|
|