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;
}
相关推荐
KAU的云实验台3 分钟前
单/多UAV、静/动态路径规划,基于PlatEMO平台的带约束多目标优化 本文核心内容:
算法·matlab·无人机
Liangwei Lin6 分钟前
洛谷 P1807 最长路
数据结构·算法
会编程的土豆21 分钟前
【数据结构与算法】二叉树从建立开始
数据结构·c++·算法
_日拱一卒21 分钟前
LeetCode:最大子数组和
数据结构·算法·leetcode
计算机安禾43 分钟前
【数据结构与算法】第22篇:线索二叉树(Threaded Binary Tree)
c语言·开发语言·数据结构·学习·算法·链表·visual studio code
算法鑫探1 小时前
解密2025数字密码:数位统计之谜
c语言·数据结构·算法·新人首发
计算机安禾1 小时前
【数据结构与算法】第21篇:二叉树遍历的经典问题:由遍历序列重构二叉树
c语言·数据结构·学习·算法·重构·visual studio code·visual studio
信奥胡老师1 小时前
P1255 数楼梯
开发语言·数据结构·c++·学习·算法
爱睡懒觉的焦糖玛奇朵2 小时前
【工业级落地算法之人员摔倒检测算法详解】
人工智能·python·深度学习·神经网络·算法·yolo·目标检测
小辉同志2 小时前
78. 子集
算法·leetcode·深度优先