题目描述

三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶。第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒。第二个农民在700秒开始,在 1200秒结束。第三个农民在1500秒开始2100秒结束。期间最长的至少有一个农民在挤奶的连续时间为900秒(从300秒到1200秒),而最长的无人挤奶的连续时间(从挤奶开始一直到挤奶结束)为300秒(从1200秒到1500秒)。

你的任务是编一个程序,读入一个有N个农民(1 <= N <= 5000)挤N头牛的工作时间列表,计算以下两点(均以秒为单位):

最长至少有一人在挤奶的时间段。

最长的无人挤奶的时间段。(从有人挤奶开始算起)

输入输出格式

输入格式:
Line 1:
一个整数N。
Lines 2…N+1:
每行两个小于1000000的非负整数,表示一个农民的开始时刻与结束时刻。
输出格式:
一行,两个整数,即题目所要求的两个答案。

题目大意就是给你一堆区间然你求重叠的区间中最长的是多少和不重叠的区间中空最多的是多少。
以前做过一些类似的题目 共同点是先用结构体将区间左端点和右端点存起来然后按左端点排序。
在定义一个中间变量用来存重叠区间的左右端点 当两区间重叠的时候只需要判断一下是否包含然后更新右端点,当不重叠的时候就可以求题目要求的了然后重复。

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
struct qu
{int a,b;
} w[100000];
bool cmp(qu a,qu b)
{return a.a<b.a;
}
int main()
{int n;cin>>n;for(int i=1; i<=n; i++){cin>>w[i].a>>w[i].b;}sort(w+1,w+n+1,cmp);int s1=w[1].a,s2=w[1].b,max1=w[1].b-w[1].a,max2=0;for(int i=2; i<=n; i++){if(w[i].a<=s2&&w[i].b>s2){s2=w[i].b;}else if(w[i].a>s2){max2=max(max2,w[i].a-s2);max1=max(max1,s2-s1);s1=w[i].a;s2=w[i].b;}}cout<<max1<<' '<<max2<<endl;}

挤牛奶洛谷uasco相关推荐

  1. 【USACO TRAINING】母亲的牛奶(洛谷1215题)

    母亲的牛奶 题目描述 农民约翰有三个容量分别是A,B,C升的桶,A.B.C分别是三个从1到20的整数. 最初,A和B桶都是空的,而C桶是装满牛奶的. 有时,约翰把牛奶从一个桶倒到另一个桶中,直到被灌桶 ...

  2. 拓扑排序——杂物(洛谷 P1113)

    题目选自洛谷P1113 把每个任务看作一个结点,如果两个任务x和y满足x是y的准备工作,那么在x和y之间连一条有向边. 由于互相没有关系的杂物可以同时工作,所以可以发现所有杂物都被完成的最短时间只取决 ...

  3. 洛谷 Markdown - 从入门到精通

    洛谷 Markdown - 从入门到精通 编写--Jerrycyx(CSDN,洛谷) 洛谷博客查看 因为洛谷博客的渲染机制和其它地方不一样,可能导致渲染错误,所以你可以到这里食用:https://ww ...

  4. 洛谷刷题C语言:【Mc生存】经验值、开灯、乘积最大3、三角函数、电梯里的爱情

    记录洛谷刷题QAQ 一.[Mc生存]经验值 题目背景 初一福利第2弹... 题目描述 话说 clearman 在 MC 世界开了个祥艺奶牛场,用熔浆.TNT 等丧心病狂的折磨牛,获取牛肉.牛奶等刷经验 ...

  5. 洛谷4277:萃香的请柬——题解

    https://www.luogu.org/problemnew/show/P4277 萃香在小时候就一直有一个梦想,就是邀请全乡居民一起参加宴会,在上次发动异变被灵梦退治之后她仍旧没有放弃,而是在元 ...

  6. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  7. 洛谷 P1142 轰炸

    洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...

  8. 洛谷 P1387 最大正方形

    P1387 最大正方形 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=10 ...

  9. Milking Cows 挤牛奶

    1.2.1 Milking Cows 挤牛奶 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 554  Solved: 108 [Submit][Stat ...

最新文章

  1. 织梦html不能生成,内容预览及生成HTML
  2. 3.列表(一个打了激素的数组)
  3. python中的'\b'、'\r'
  4. linux cpu softirq,linux softirq机制
  5. nxos启动的初始化和https访问nx-api
  6. centos mysql二进制包_centos mysql5.7 二进制包安装
  7. Unix原理与应用学习笔记----第四章 文件系统2
  8. 编程界的十大天神,都来拜一拜吧
  9. 0到100之间的阶乘linux算法,零基础学算法-阶乘
  10. 自动驾驶基础——惯性测量单元(IMU)
  11. linux 安装zh.utf 8,debian下安装locale并设置zh_CN.UTF-8
  12. linux中package什么文件夹,PACKAGE 文件扩展名: 它是什么以及如何打开它?
  13. cad旋转命令_CAD中根据角度画圆弧的方法有哪些?【AutoCAD教程】
  14. 侯捷先生的Design Patterns高级课程
  15. windows 10企业版windows Defender无法使用
  16. linux 强制关闭进程
  17. 322. 零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每
  18. css复制功能的方法
  19. python如何连接创建我的世界_我的Python世界 玩《Minecraft我的世界》学Python编程...
  20. 苹果TestFlight测试操作图文教程(测试后提交App Store审核)

热门文章

  1. 近视眼手术之后计算机专业,白领人士做完近视眼手术后,可以正常用电脑工作吗?...
  2. 谱半径一定大于0_[转载]关于谱半径(spectrum radius)
  3. 高等数学学习笔记——第五十讲——可降阶的高阶微分方程
  4. 北京2022年最后一次快开始了,准备好了吗?
  5. 训练样本制作--Annotating Object Instances with a Polygon-RNN
  6. 安装photoshop cc 2015几个问题的解决
  7. Spring MVC之@RequestBody, @ResponseBody 详解
  8. 用python计算绩点的代码_使用Python计算研究生学分绩(绩点)
  9. Http Keep-Alive和Tcp keepalive介绍
  10. WMS系统具备的基本功能,你懂多少?