Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:125 MB
统计

N个政党(编号从1到N)争夺M个席位,V个选民参加了选举。由于计票还在进行,我们只知道当前每个政党获得的票数(分别是V[1]到V[n])。请根据规则计算每个政党最多和最小获得的席位数。
规则如下:
1.所有获得选票不到5%的政党将没有席位。
2. 所有政党最初席位为0.
3. 对于政党P, 得分QP=VP/(SP+1) , VP 是政党获得的选举总数,SP是政党当前所获的席位数。
4. 所有政党的得分最高者获得一个席位,如果有多个最高编号小的获得这个席位。
5.重复3和4直到所有席位分配完成。
输入:
第一行3个整数 V, N 和 M (1 ≤ V ≤ 10,000,000, 1 ≤ N ≤ 100, 1 ≤ M ≤ 200),
接下来一行共N个整数表示每个政党当前获得的票数。票数总和不超过V
输出:
第一行N个整数,依次表示每个政党可能获得的最多席位数。
第二行N个整数,依次表示每个政党可能获得的最少席位数。
样例:
输入:
20 4 5
4 3 6 1
输出:
3 3 3 2
1 0 1 0
输入:
100 3 5
30 20 10
输出:
4 3 3
1 1 0
第一个样例中,14 张选票被统计出来,还有6张正在统计。
一种想向的可能政党1获得2张,政党2没有,政党3获1张,政党4获3张。则他们的最终票数依次为6, 3, 7 和4 .所有政党超过了 5%
席位这样确定:
1. 得分分别为 6/1, 3/1, 7/1和4/1;最大是 7/1因此政党3得到一个席位.
2. 得分分别为6/1, 3/1, 7/2 和 4/1;最大是6/1 因此政党 1 得到一个席位.
3. 得分分别为 6/2, 3/1, 7/2 和 4/1;最大是4/1 因此政党4 得到一个席位。
4. 得分分别为6/2, 3/1, 7/2和4/2;最大是7/2 因此政党3获得一个席位。
5. 得分分别为6/2, 3/1, 7/3 and 4/2; 政党1 和 2 的得分为 6/2和3/1,但政党1的编号小,所有1获得1个席位。所以最终席位 2, 0, 2 和 1.注意政党2这种情况下没得到席位。