奶牛用餐 优先队列 java
👨🏫 奶牛用餐
约翰的农场有 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 1≤n≤10。
所有测试点满足 1 ≤ n , k ≤ 5 × 1 0 5 1 \le n,k \le 5 \times 10^5 1≤n,k≤5×105, 1 ≤ s i , t i ≤ 1 0 9 1 \le s_i,t_i \le 10^9 1≤si,ti≤109。
输入样例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);}}
}相关文章:
奶牛用餐 优先队列 java
👨🏫 奶牛用餐 约翰的农场有 n n n 头奶牛,编号 1 s i m n 1 \\sim n 1simn。 每天奶牛们都要去食堂用餐。 食堂一共有 k k k 个座位,也就是说同一时间最多可以容纳 k k k 头奶牛同时用餐。 已知,第 i i i …...
包管理机制pip3
pip3 安装pip3 安装pip3 apt install python3-pip yum install python3-pip从仓库出发的命令 查询仓库信息 // 获取默认pip3源 pip3 config get global.index-url查询所有软件包 查询已经安装的所有软件包 pip3 list从软件包出发的命令 从软件包名出发查询其他信息 查询…...
liunx在线安装tomcat
1、在线安装 https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.91/bin/apache-tomcat-8.5.91.tar.gz 执行:wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.91/bin/apache-tomcat-8.5.91.tar.gz ps:或者直接把tar.gz扔服务器 2、 编…...
导入示例工程出现error: failed to start ability. Error while Launching activity错误的解决办法
导入华为健康生活应用(ArkTS),使用DevEco Studio打开,运行报错: error: failed to start ability. Error while Launching activity解决办法:修改module.json5里面exported的值,由false改为tr…...
【深入了解PyTorch】PyTorch分布式训练:多GPU、数据并行与模型并行
【深入了解PyTorch】PyTorch分布式训练:多GPU、数据并行与模型并行 PyTorch分布式训练:多GPU、数据并行与模型并行1. 分布式训练简介2. 多GPU训练3. 数据并行4. 模型并行5. 总结PyTorch分布式训练:多GPU、数据并行与模型并行 在深度学习领域,模型的复杂性和数据集的巨大规…...
linux 下 网卡命名改名
Linux 操作系统的网卡设备的传统命名方式是 eth0、eth1、eth2等,而 CentOS7 提供了不同的命名规则,默认是网卡命名会根据网卡的硬件信息,插槽位置等有关;来分配。这样做的优点是命名全自动的、可预知的,缺点是比 eth0、…...
6.2.0在线编辑:GrapeCity Documents for Word (GcWord) Crack
GrapeCity Word 文档 (GcWord) 支持 Office Math 函数以及转换为 MathML GcWord 现在支持在 Word 文档中创建和编辑 Office Math 内容。GcWord 中的 OMath 支持包括完整的 API,可处理科学、数学和通用 Word 文档中广泛使用的数学符号、公式和方程。以下是通过 OMa…...
为什么需要智能指针?
为什么需要智能指针? 解决忘记释放内存导致内存泄漏的问题。解决异常安全问题。 #include<iostream> using namespace std;int div() {int a, b;cin >> a >> b;if (b 0)throw invalid_argument("除0错误");return a / b; } void Func(…...
《华为认证》L2TP VPN配置
配置接口ip地址,并且将防火墙的接口加入对应的安全区域 。 LNS的G1/0/0 IP为202.1.1.1 1、配置LNS的缺省路由: ip route-static 0.0.0.0 0.0.0.0 202.1.1.2 2、通过WEB 界面配置防火墙的 L2TP VPN 浏览器输入: https://202.1.1.1:8443/def…...
【JVM】JVM垃圾收集器
文章目录 什么是JVM垃圾收集器四种垃圾收集器(按类型分)1.串行垃圾收集器(效率低)2.并行垃圾收集器(JDK8默认使用此垃圾回收器)3.CMS(并发)垃圾收集器(只针对老年代垃圾回收的) 什么是JVM垃圾收…...
StarGANv2: Diverse Image Synthesis for Multiple Domains论文解读及实现(一)
StarGAN v2: Diverse Image Synthesis for Multiple Domainsp github:https://github.com/clovaai/stargan-v2 1 模型架构 模型主要架构由四部分组成 ①Generator、②Mapping network、③Style encoder、④Discriminator Generator:G网络 生成模型G将输入图片x转换…...
Go Gin 中使用 JWT
一、JWT JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式,目前多用于前后端分离项目和OAuth2.0业务场景下。 二、为什么要用在你的Gin中使用JWT 传统的Cookie-Sesson模式占用服务器内存, 拓展性…...
AWS中Lambda集成SNS
1.创建Lambda 在Lambda中,创建名为AWSSNSDemo的函数 use strict console.log(loading function); var aws require(aws-sdk); var docClient new aws.DynamoDB.DocumentClient(); aws.config.regionap-southeast-1;exports.handler function(event,context,cal…...
Mac下⬇️Git如何下载/上传远程仓库
使用终端检查电脑是否安装Git git --version 通过此文章安装Git ➡️ 传送门🌐 方式1⃣️使用终端操作 1.下载——克隆远程仓库到本地 git clone [远程地址] 例:git clone https://gitee.com/lcannal/movie.git 2.编…...
linux 命令--常用关机命令
1.使用shutdown命令 shutdown命令是Linux系统下最常用的关机命令之一。它可以让系统在指定时间内进行关机或者重启操作。例如,下面的命令可以让系统在5分钟后进行关机操作: sudo shutdown -h5其中,“-h”表示关机,“5”表示5分钟…...
ttf-dejavu fontconfig字体
ttf-dejavu fontconfig是验证码,pdf,excel时需要用到的字体 编辑dockerfile,先切换国内镜像源,默认alpinelinux是国外源,下载包会很慢 vim Dockerfile FROM alpine:latest RUN sed -i s/dl-cdn.alpinelinux.org/mirr…...
Open3D点云数据处理(十九):最小二乘直线拟合(矩阵方程法)
文章目录 1 最小二乘直线拟合原理(矩阵方程角度)2 相关知识2.1 超定线性方程组2.2 正规方程2.3 奇异值分解3 最小二乘直线拟合代码实现4 点云最小二乘直线拟合5 相关链接专栏目录:Open3D点云数据处理(Python) 1 最小二乘直线拟合原理(矩阵方程角度) 最小二乘直线拟合是…...
数据库事务ACID介绍
一、ACID简介 ACID,是指数据库管理系统(DBMS)在增删改数据的的过程中,为保证事务(transaction)的准确性,可靠性等,所必须具备的四个特性:原子性(atomicity&a…...
SM8650 qcxserver.c STRM_Initialize
STRM_Initialize streammanager 初始化流程 目录 STRM_Initialize Gptp::Init Config::Init SensorManager::Init SensorPlatform::SensorPlatformInit SensorManager::LoadSensorLib SensorManager::OpenSensorLib SensorManager::DetectAll SensorManager::DetectHandlerT…...
适配器模式-java实现
意图 复用已经存在的接口,与所需接口不一致的类。即将一个类(通常是旧系统中的功能类),通过适配器转化成另一个接口的实现。(简单来说,就是复用旧系统的功能,去实现新的接口) 我们举…...
终极指南:5个技巧掌握免费开源字体Bebas Neue的设计应用
终极指南:5个技巧掌握免费开源字体Bebas Neue的设计应用 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue Bebas Neue是全球最受欢迎的免费开源字体之一,自2005年诞生以来已成为设计师和开发…...
【泛微E9开发】ESB中心:从零到一的异构系统集成实战
1. ESB中心入门:为什么需要异构系统集成? 第一次接触泛微E9的ESB中心时,我和大多数开发者一样充满疑惑:为什么OA系统需要集成其他业务系统?简单来说,企业日常运营中会产生大量数据流转需求。比如销售人员在…...
Sentry 私有化部署与全栈监控实战指南
1. 为什么选择Sentry进行全栈监控? 在当今快速迭代的互联网产品开发中,系统稳定性直接影响用户体验和业务收益。我曾经负责过一个电商项目,上线初期由于缺乏有效的错误监控,用户支付失败的问题整整隐藏了3天才被发现,直…...
如何快速掌握JSON编辑器:React开发者的终极指南
如何快速掌握JSON编辑器:React开发者的终极指南 【免费下载链接】jsoneditor-react react wrapper implementation for https://github.com/josdejong/jsoneditor 项目地址: https://gitcode.com/gh_mirrors/js/jsoneditor-react JSONEditor-React 是一个专门…...
30个免费Illustrator脚本:一键自动化你的设计工作流
30个免费Illustrator脚本:一键自动化你的设计工作流 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 还在为Adobe Illustrator中的重复性操作浪费宝贵时间吗?…...
从科幻小说到产品设计:如何用‘What-If’思维模型,提前5年预判技术趋势
科幻思维解码:用未来叙事重构产品创新逻辑 当科幻遇见产品:一场跨越时空的思维实验 1982年上映的《银翼杀手》描绘了2019年的洛杉矶街头全息广告与仿生人共存的世界,这个曾被视作天方夜谭的设定,如今在增强现实技术和人形机器人领…...
三步重塑Windows 11纯净体验:Win11Debloat系统优化深度指南
三步重塑Windows 11纯净体验:Win11Debloat系统优化深度指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter a…...
终极指南:使用115proxy-for-kodi高效实现115云盘视频电视播放
终极指南:使用115proxy-for-kodi高效实现115云盘视频电视播放 【免费下载链接】115proxy-for-kodi 115原码播放服务Kodi插件 项目地址: https://gitcode.com/gh_mirrors/11/115proxy-for-kodi 想要在电视上直接流畅播放115云盘中的视频内容?115pr…...
私域直播系统到底值不值得上?连锁门店做直播,先别急着招主播,先看这4个能力
很多老板问,私域直播系统到底有没有必要上?结论先说:如果你只是单店偶尔搞活动,用轻量直播工具就够了;但如果你是连锁门店,想把直播做成稳定成交渠道,私域直播系统不是“加分项”,而…...
别再折腾了!保姆级教程:用Unity Hub + VS2022搞定Unity开发环境(附安卓模块选择建议)
Unity开发环境配置终极指南:从避坑到高效搭建 刚接触Unity开发的新手往往会在环境配置阶段遭遇各种"坑"——编辑器版本选择困难、Visual Studio组件勾选错误、安卓模块配置不当等问题层出不穷。我曾见过不少热情满满的初学者在这个阶段耗费数天时间反复重…...
