当前位置: 首页 > news >正文

教育网站报名百度搜索风云榜

教育网站报名,百度搜索风云榜,9377网页游戏,乌鲁木齐网站建设电话咨询👨‍🏫 奶牛用餐 约翰的农场有 n n n 头奶牛,编号 1 s i m n 1 \\sim n 1simn。 每天奶牛们都要去食堂用餐。 食堂一共有 k k k 个座位,也就是说同一时间最多可以容纳 k k k 头奶牛同时用餐。 已知,第 i i i …

👨‍🏫 奶牛用餐

约翰的农场有 n n n 头奶牛,编号 1 s i m n 1 \\sim n 1simn

每天奶牛们都要去食堂用餐。

食堂一共有 k k k 个座位,也就是说同一时间最多可以容纳 k k k 头奶牛同时用餐。

已知,第 i i i 头奶牛到达食堂的具体时刻为 s _ i s\_i s_i,用餐所需花费的时间为 t _ i t\_i t_i

保证 s _ 1 < s _ 2 < … < s _ n s\_1 < s\_2 < … < s\_n s_1<s_2<<s_n

为了让奶牛们有序用餐,约翰制定了如下规则:

  • 每头奶牛都必须由约翰安排座位用餐。
  • 每头奶牛从到达食堂的那一刻起,即刻进入待安排状态。
  • 任意时刻,只要存在空座位以及待安排奶牛,约翰就会即刻安排奶牛就座用餐。
  • 如果某一时刻,空座位的数量少于待安排奶牛的数量,则优先安排编号更小的奶牛就座用餐。
  • 每头奶牛用餐完毕的那一时刻都会被约翰立即轰走,即刻空出座位。

除了用餐花费时间以外,其它花费时间忽略不计。

请你计算并输出,每头奶牛用餐完毕的具体时刻。

输入格式

第一行包含两个整数 n , k n,k n,k

接下来 n n n 行,其中第 i i i 行包含两个整数 s _ i , t _ i s\_i,t\_i s_i,t_i

注意,输入保证 s _ 1 < s _ 2 < … < s _ n s\_1 < s\_2 < … < s\_n s_1<s_2<<s_n

输出格式

n n n 行,每行输出一个整数,其中第 i i i 行的整数表示第 i i i 头奶牛用餐完毕的具体时刻。

数据范围

3 3 3 个测试点满足 1 ≤ n ≤ 10 1 \le n \le 10 1n10
所有测试点满足 1 ≤ n , k ≤ 5 × 1 0 5 1 \le n,k \le 5 \times 10^5 1n,k5×105 1 ≤ s i , t i ≤ 1 0 9 1 \le s_i,t_i \le 10^9 1si,ti109

输入样例1:

3 2
1 5
2 5
3 5

输出样例1:

6
7
11

输入样例2:

6 1
1 1000000000
2 1000000000
3 1000000000
4 1000000000
5 1000000000
6 3

输出样例2:

1000000001
2000000001
3000000001
4000000001
5000000001
5000000004

🍺 AC code


import java.io.*;
import java.util.*;public class Main
{static int N = 500050;static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));public static void main(String[] args) throws IOException{
//		Scanner sc = new Scanner(System.in);
//		int n = sc.nextInt();
//		int m = sc.nextInt();String[] ss = in.readLine().split(" ");int n = Integer.parseInt(ss[0]);int m = Integer.parseInt(ss[1]);PriorityQueue<Long> heap = new PriorityQueue<>();// 维护 m 个座位的空闲开始时间for (int i = 0; i < m; i++)heap.add(0L);// 座位的空闲时间初始化为 0while (n-- > 0){
//			long start = sc.nextLong();
//			long time = sc.nextLong();ss = in.readLine().split(" ");long start = Long.parseLong(ss[0]);long time = Long.parseLong(ss[1]);long t = heap.poll();// 每次获取最快有空位的时间long end = Math.max(start, t) + time;// 和自身的到达时间取 max 值heap.add(end);// 把此座位的下一次空位时刻加入 堆System.out.println(end);}}
}
http://www.shuangfujiaoyu.com/news/42998.html

相关文章:

  • 网站建设怎么让百度搜索到怎么做微信小程序
  • 网站广告形式百度推广管理
  • 长沙专业的网站建设企业seo兼职论坛
  • 网站域名更换是怎么做的有哪些网络推广平台
  • 石狮网站seo搜索引擎优化价格
  • 你注册过的那些网站seo系统推广
  • 教做黏土手工的网站百度指数怎么查询
  • 甘肃手机版建站系统信息搜狗网
  • 商城网站有免费建设的吗网络营销是做什么
  • 西安公积金 网站建设手机推广app
  • 手机网站前端用什么做盐城seo优化
  • 网页设计与制作实训心得体会北京做的好的seo公司
  • 长春网站建设报价怎么做外链
  • 十堰外贸网站建设内江seo
  • 建设农产品网站总结pptseo关键词优化推广报价表
  • 青海省住房和城乡建设网站百度一下你知道
  • 三合一商城网站免费的短视频app大全下载
  • 百度网站提交seo外链建设的方法有
  • 佛山网站建设十年乐云seo百度应用商店下载安装
  • 建设公司网站靠谱吗网站热度查询
  • 做视频分享网站的参考书搜索引擎营销的特点是
  • 电子商务平台网站建设方式百度推广费用怎么算
  • 泽国镇规划建设局网站什么网站可以免费发广告
  • 网站哪家公司做的360信息流广告平台
  • 怎样做自己的手机网站网络软文写作
  • 网站建设销售招聘苏州关键词seo排名
  • 养生馆室内设计信息流优化师没经验可以做吗
  • 如何建立公司网站电话重庆森林电影高清在线观看
  • 网站网络优化外包网站搜索排名查询
  • archigo建筑网站重庆百度推广的代理商