[简单贪心][2019CSP多校联赛普及组第五周] 调度CPU

题目描述

题目描述
⼩Y同学有⼀块超级CPU,它有两个超级核⼼A和B。
A核⼼可以同时处理多项任务,每项任务处理时间为x,B核⼼只能同时处理⼀项任务,每项任务处理时间为y。
这⼀天,⼩Y同学接到了n项紧急任务,第i项紧急任务在ti时刻发出,且必须在任务发出时进⾏处理。
由于⼩Y可以调节CPU的B核⼼,你想知道对于y∈1,x,处理完毕所有任务的最早时间是多少?

输入格式
第⼀⾏两个整数n,x,表⽰紧急任务数量及A核⼼对每项任务的处理时间。 第⼆⾏n个整数ti,表⽰第i个紧急任务发出的时间ti。

输出格式
共x⾏:第i(1≤i≤x)⾏⼀个整数,表⽰当y=i时的答案ans。

数据范围与提示
样例输入输出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,这是最早的⼀种完成的⽅案。

对于40%的数据,1 ≤ n ≤ 103
对于100%的数据,1 ≤ n, x ≤ 106, 0 ≤ ti-1 ≤ ti ≤ 109

样例输入输出

Sample Input 1
3 3
1 2 3
Sample Output 1
4
5
6

Sample Input 2
3 5
1 4 5
Sample Output 2
6
9
9
9
10

题解

首先拿到这道题,第一感觉就是题面好奇怪,莫名让我无从下手。。。(可能最近板题做多了) 略加思索后,锁定贪心

首先,由题意可知,当B不空闲的时候,是一定会选择A的;由于题目保证y∈1,x,所以,把最后一位甩给B去处理一定不劣于甩个A去处理,因此

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值