zoukankan      html  css  js  c++  java
  • Day8 拓展练习 acwing1343.挤牛奶

    每天早上 55 点,三名农夫去牛场给奶牛们挤奶。

    现在从 55 点开始按秒计时,第一名农夫在第 300300 秒开始给牛挤奶,并在第 10001000 秒停止挤奶。

    第二名农夫在第 700700 秒开始给牛挤奶,并在第 12001200 秒停止挤奶。

    第三名农夫在第 15001500 秒开始给牛挤奶,并在第 21002100 秒停止挤奶。

    从开始挤奶到挤奶完全结束,这一期间,至少存在一名农夫正在挤奶的连续时间段的长度最长为 900900 秒(第 300300 秒至第 12001200 秒),完全没有任何农夫在挤奶的连续时间段的长度最长为 300300 秒(第 12001200 秒至第 15001500 秒)。

    现在给你 NN 名农夫挤 NN 头奶牛的工作时间表,请你求出:

    1. 至少存在一名农夫正在挤奶的连续时间段的最长长度。
    2. 没有任何农夫在挤奶的连续时间段的最长长度。

    注意:本题中给出的所有时间均为时刻(时间点),因此在本题中挤奶区间 [100200][100,200] 和 [201,300][201,300] 中间会有长度为 11 秒的间歇时间。

    输入格式

    第一行包含整数 NN,表示农夫数量。

    接下来 NN 行,每行包含两个非负整数 l,rl,r,表示农夫挤奶的开始时刻和结束时刻。

    输出格式

    共一行,包含两个整数,分别表示最长连续挤奶时间以及最长连续无人挤奶时间。

    数据范围

    1N50001≤N≤5000,
    1lr1061≤l≤r≤106

    输入样例:

    3
    300 1000
    700 1200
    1500 2100
    

    输出样例:

    900 300

    这道题就是一个区间合并问题
    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    typedef pair<int,int> pii;
    int M;
    
    int main(){
        
        cin >> M;
        
        
        pii p[5010];
        
        int a, b;
        for(int i = 0; i < M; i++)
        {
            cin >> a >> b; 
            p[i].first = a;
            p[i].second = b;
        }
        
        sort(p,p+M);
        
        int l = p[0].first, r = p[0].second, suma = 0, sumb = 0;
        
        for(int i = 1; i < M; i++)
        {
            if(p[i].first <= r)
                r = max(p[i].second,r);
            else{
                suma = max(r - l, suma);
                sumb = max(p[i].first - r, sumb);
                l = p[i].first; 
                r = p[i].second;
            }
        }
        
        suma = max(r - l, suma);
        
        cout << suma <<" "<< sumb;
        
        return 0;
    }
  • 相关阅读:
    [leetcode]Interleaving String
    [leetcode]Scramble String
    [leetcode]Divide Two Integers
    [leetcode]Implement strStr()
    python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
    GitHub新手快速入门日常操作流程
    smtplib.SMTPDataError: (554, 'DT:SPM 126 smtp5错误解决办法
    wamp中修改后mysq数据库l闪退无法登陆解决办法
    运行python代码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 91: ordinal not in range(128)的解决办法
    测试人员如何搭建Selenium-Grid2环境(参考Java)
  • 原文地址:https://www.cnblogs.com/xiaowangdatie/p/14524377.html
Copyright © 2011-2022 走看看