CF589K.Task processing
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Vasya 想要创建一个计算系统来处理任何任务。为了完成系统,他需要一个算法来选择任务执行的顺序。
他提出了以下算法:
- 只有一个执行队列。要完成任务,需要将其加入队列中。
- 对于每个任务,我们已知完成这项任务所需要耗费的时间 li 和将此任务添加进执行队列的时刻 ti。
- 如果在 T 时刻算法必须选择一个任务来执行,它会选择 li−(T−ti)2 中的最小值来执行。如果有最小值相同的任务,那么算法会选择最先加进来的任务去执行。接下来 li 秒,算法将会等待任务完成。
为了测试算法的正确性,Vasya 希望您来模拟这个算法。
你被给予了 n 个任务,对于每个任务,您都知道 li 和 ti。
对于每个任务,请找出它将完成的时刻。
输入格式
输入共 n+1 行。
第一行输入一个整数 n。
接下来 n 行,第 i 行输入 li 和 ti。
输出格式
输出共 1 行,输出 n 个以空格分隔的整数。第 i 个整数代表第 i 个任务的完成时间。
输入输出样例
输入#1
1 10 5
输出#1
15
输入#2
3 3 0 4 3 5 2
输出#2
3 7 12
输入#3
3 3 0 4 2 5 1
输出#3
3 12 8
输入#4
6 3 0 5 1 4 2 5 18 4 19 5 14
输出#4
3 8 12 24 28 19
说明/提示
输入解题思路,AI测评打分。不知道怎么写?