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

区间合并:牛奶

区间合并:牛奶

牛奶

www.acwing.com/problem/content/description/1345/

在这里插入图片描述

  • 本质就是区间合并问题
  • 从第一次挤奶才开始计算两个最长时间
import java.util.*;public class Main {static final int N = 5010;static Pair[] pairs = new Pair[N];static class Pair implements Comparable<Pair> {int l, r;public Pair(int l, int r) {this.l = l;this.r = r;}@Overridepublic int compareTo(Pair o) {if (this.l == o.l) {return this.r - o.r;}return this.l - o.l;}}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();for (int i = 0; i < n; i++) {int l = sc.nextInt();int r = sc.nextInt();pairs[i] = new Pair(l, r);}// 排序Arrays.sort(pairs, 0, n);int left = pairs[0].l, right = pairs[0].r;int maxHasMilk = right - left, maxNoMilk = 0;for (int i = 1; i < n; i++) {if (pairs[i].l <= right) {// 连续挤奶right = Math.max(right, pairs[i].r);maxHasMilk = Math.max(maxHasMilk, right - left);} else {// 挤奶中断left = pairs[i].l;// 现在的左端点减去上一次的右端点maxNoMilk = Math.max(maxNoMilk, left - right);right = pairs[i].r;// 注意可能一段要比多段长maxHasMilk = Math.max(maxHasMilk, right - left);}}System.out.printf("%d %d\n", maxHasMilk, maxNoMilk);}}

相关文章:

  • 错题分析接口实现全流程
  • Flink 与 Hive 深度集成
  • 【系统分析师】第5章-基础知识:数据库系统(核心总结)
  • Oracle 单实例双IP配置
  • List的简单模拟实现
  • 树莓派智能小车基本移动实验指导书
  • SSH参数优化与内网穿透技术融合:打造高效远程访问解决方案
  • [CVPR 2025] DiCo:动态协作网络助力半监督3D血管分割新突破
  • Java开发中避免NullPointerException的全面指南
  • RabbitMQ--集群
  • java设计模式[2]之创建型模式
  • 学习设计模式《十三》——迭代器模式
  • C++线性DP-最优解问题、方案数问题
  • Design Compiler:解组(Ungroup)
  • 自编码模型原理
  • Python中提取图片特征的指南
  • 2.2 订阅话题
  • 在Ubuntu linux终端写文件的方法
  • DataWhale-零基础网络爬虫技术(一)
  • 互联网大厂Java求职面试:云原生架构与微服务设计中的复杂挑战
  • 经销商城建站/免费b站推广网站在线
  • 浙江省台州市做网站多少钱/常见的网络推广方式有哪些
  • 十堰市茅箭区建设局网站/上海seo优化公司kinglink
  • 电商网站开发岗位职责/吴江网站制作
  • 开发微信微网站建设/seo优化工具推荐
  • 模板网站做外贸可以吗/成都网站快速排名软件