C01——挤牛奶

三个农民每天清晨 55 点起床,然后去牛棚给三头牛挤奶。

第一个农民在 300300 秒 (从 55 点开始计时) 给他的牛挤奶,一直到 10001000 秒。第二个农民在 700700 秒开始,在 12001200 秒结束。第三个农民在 15001500 秒开始,21002100 秒结束。

期间最长的至少有一个农民在挤奶的连续时间为 900900 秒 (从 300300 秒到 12001200 秒),而最长的无人挤奶的连续时间(从挤奶开始一直到挤奶结束)为 300300 秒 (从 12001200 秒到 15001500 秒)。


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

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

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

输入格式

第一行一个正整数 nn

接下来 nn 行,每行两个非负整数 l,rl,r,表示一个农民的开始时刻与结束时刻。

输出格式

一行,两个整数,即题目所要求的两个答案。

输入输出样例

输入 #1复制

复制代码
3
300 1000
700 1200
1500 2100

输出 #1复制

复制代码
900 300

测试代码:

10

2 3

4 5

6 7

8 9

10 11

12 13

14 15

16 17

18 19

1 20

//

1

100 200

objectivec 复制代码
#include<stdio.h>
#include<stdlib.h>
 
long  Max(long a,long b){
    return a>b?a:b;
}
struct Nod{
    long beg;
    long end;
};
int main(){
    int N;
    scanf("%d",&N);
    struct Nod x[N];
    if(N==0)printf("0 0");
    else{
        for(int i=1;i<=N;i++){
            scanf("%ld %ld",&x[i].beg,&x[i].end);
        }
        long Beg=x[1].beg,End=x[1].end;
        long w=End-Beg,f=0;//w最长工作时间,f最长休息时间
        for(int i=2;i<=N;i++){
            if(x[i].beg<=Beg){
                End=Max(End,x[i].end);
                w=Max(w,End-x[i].beg);
            }
            if(x[i].beg<=End&&x[i].beg>Beg){
                End=Max(End,x[i].end);
                w=Max(w,End-Beg);
            }
            else{
                w=Max(End-Beg,x[i].end-x[i].beg);
                f=Max(f,x[i].beg-End);
                Beg=x[i].beg;
                End=x[i].end;
            }
        }
        w=Max(w,End-Beg);
        printf("%ld %ld",w,f);
    }
    return 0;
}
相关推荐
啥都想学点的研究生4 小时前
一篇文章讲清楚:线性回归问题的求解——正规方程法
算法·机器学习·线性回归
青少儿编程课堂4 小时前
树状数组精讲:逆序对计数与离散化(附双语言解法)
算法·树状数组·离散化·信息学奥赛·逆序对
血小板要健康4 小时前
网格 dfs 与 FloodFill:从岛屿、区域到搜索路径
笔记·算法·leetcode·深度优先
VALENIAN瓦伦尼安教学设备5 小时前
设备状态检测振动分析实训台案例分析
大数据·数据库·人工智能·嵌入式硬件·算法
小小晓.5 小时前
C++ 值类别与完美转发深度剖析:从左值右值到 std::forward 源码解密
开发语言·c++·算法
怕浪猫5 小时前
用了两年 AI 编程工具后,我重新理解了什么是「资深工程师」
算法·面试·架构
hetao17338375 小时前
2026-08-27~29 hetao1733837 的刷题记录
c++·算法
云淡风轻~窗明几净6 小时前
宇宙管理学猜想
算法·图论
春风解人意6 小时前
从零开始学习嵌入式P28----线程
c语言·学习·算法
luj_17686 小时前
合法避税与投资评估实战指南
c语言·开发语言·网络·经验分享·算法