#1269. 多线程处理(cpu)

多线程处理(cpu)

【题目描述】

佩奇有一块超级CPU,他有两个超级核心A和B。

A核心可以同时处理多个任务,每项任务处理时间为x,B核心只能同时处理一项任务,每项任务处理时间为y。

现在佩奇接到了n项紧急任务,第i项紧急任务在ti时刻发出,且必须在任务发出时刻进行处理。

已经知道,佩奇可以调节CPU的B核心,也就是对于y,可以设置y=1,2,...x。

请问佩奇处理完所有任务的最早时间是?

【输入格式】

第一行输入两个整数n,x,表示紧急处理的任务数量及A核心对每项任务的处理时间。

第二行n个整数ti,代表第i个紧急任务发出的时刻。

【输出格式】

输出共x行,第i(1<=i<=x)行一个整数,表示当y=i时的答案。

【样例1输入】

3 3
1 2 3

【样例1输出】

4
5
6

【样例1解释】

y=1时,t1=1任务交给核心A,t2=2,t3=3两个任务交给核心B,结束时刻是4.

y=2时,t1=1,t3=3两个任务交给核心B,t2=2的任务交给核心A,结束时刻是5

y=3时,t1=1,t2=2两个任务交给核心A,t3=3的任务交给核心B,结束时刻是6

【样例2输入】

3 5
1 4 5

【样例2输出】

6
9
9
9
10

【数据规模】

对于40%的数据,1<=n<=10^3

对于100%的数据,1<=n,x<=10^6,0<=t​i-1​<=t​i<=10^9