P8364 [COI 2009] IZBORI

题目描述

有 $V$ 个选民在为选举投票。这次选举有 $N$ 个党派参加,他们要共同争夺议会的 $M$ 个席位。 假设党派编号为 $1$ 至 $N$,且他们分别获得 $v_1,v_2,\cdots,v_n$ 票。席位分配如下: 1. 所有获得少于 $5\%$ 的票数的党派直接取消后续参选资格。 2. 一开始议会不会为任何党派预留名额。 3. 对于每个党派,计算 $Q_p=V_p\div(S_p+1)$,其中 $V_p$ 是党派获得的总票数,$S_p$ 是已经分配给该党派的席位数量。 4. $Q_p$ 最大的党派会获得一个席位。(相同则编号小的获得) 5. 重复第三四步直到满员。 现在已经清点了部分选票,知道了党派现在获得的票数,编写程序以求出在所有可能的情况下,各个党派可能获得的最多或最少席位。

输入格式

第一行三个正整数 $V,N,M$。 第二行 $N$ 个正整数,为各个党派目前获得的票数,保证其总和不超过 $V$。

输出格式

输出第一行 $N$ 个整数,为各个党派最多可能得到席位数。 输出第二行 $N$ 个整数,为各个党派最少可能得到席位数。

说明/提示

正确输出第一行获得 $20\%$ 的分数。正确输出第二行获得 $80\%$ 的分数。 $1\le V\le 10^7,1\le N\le 100,1\le M\le 200$。