编程题
### 问题描述 大衣的公司有 $N$ 名员工和 $M$ 个任务。 对于第 $i​$ 个任务,它必须由 $P_i​$ 员工完成,需要花费 $T_i​$ 秒钟,每个员工在同一时刻只能处理一个任务,因为大衣想让任务越来越难,所以 $T_i\le T_{i+1}​$。 对于前 $i$ 个任务,大衣想完成其中的 $j$ 个任务,他可以自由选择需要完成的任务,因为不同员工可以同时处理任务,所以任务完成的时间为最后一个完成任务的员工所用的时间,令其为 $ans_{i,j}​$。 大衣想知道对于每个整数 $i(1\le i\le M)​$,式子 $ans_{i,1}+ans_{i,2}+\cdots+ans_{i,i}​$ 的最小值是多少。 ### 输入格式 第一行输入两个正整数 $N,M$ 分别表示员工的数量和任务的数量。 接下来 $M$ 行每行输入两个整数 $P_i,T_i$,表示对于第 $i$ 个任务,它必须由 $P_i$ 员工完成,需要花费 $T_i$ 秒钟。 ### 输出格式 对于每个整数 $i(1\le i\le M)​$,输出 $ans_{i,1}+ans_{i,2}+\cdots+ans_{i,i}​$ 的最小值,并换行。 ### 样例输入 ```text 5 12 5 1 3 2 5 2 1 2 4 3 4 3 4 3 5 3 1 5 3 5 1 8 2 10 ``` ### 样例输出 ```text 1 3 6 8 11 17 26 32 39 46 61 71 ``` ### 说明 对于 $i=3$: - $j=1​$,表示从前 $3​$ 个任务中挑选 $1​$ 个任务完成,我们挑选任务 $1​$,员工 $5​$ 花费 $1​$ 秒完成该任务,故 $ans_{3,1}=1​$。 - $j=2​$,表示从前 $3​$ 个任务中挑选 $2​$ 个任务完成,我们挑选任务 $1,2​$,最后完成任务的员工 $3​$ 花费 $2​$ 秒完成该任务,故 $ans_{3,2}=2​$。 - $j=3$,表示从前 $3$ 个任务中挑选 $3$ 个任务完成,我们挑选任务 $1,2,3$,最后完成任务的员工 $1$ 花费 $1+2=3$ 秒完成所有任务,故 $ans_{3,3}=3$。 式子 $ans_{i,1}+ans_{i,2}+\cdots+ans_{i,i}=1+2+3=6$,可以证明没有比 $6$ 更小的可能值。 ### 评测数据规模 对于所有的评测数据,$1\le N,M\le 10^5$,$1\le P_i\le N$,$1\le T_i\le 10^6$,$T_1\le T_2\le \dots\le T_M$。
查看答案
赣ICP备20007335号-2