1343. 挤牛奶难度: 一般 / 模拟 区间合并

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1343. 挤牛奶难度: 一般 / 模拟 区间合并相关的知识,希望对你有一定的参考价值。


https://www.acwing.com/problem/content/1345/

#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> PII;
vector<PII>a,ve;
int n;
int main(void)
{
    cin>>n;
    for(int i=0;i<n;i++)
    {
        int l,r; cin>>l>>r;
        a.push_back({l,r});
    }
    sort(a.begin(),a.end());
    int l=a[0].first,r=a[0].second;
    for(int i=1;i<n;i++)
    {
        if(a[i].first<=r) r=max(r,a[i].second);
        else
        {
            ve.push_back({l,r});
            l=a[i].first,r=a[i].second;
        }
    }
    ve.push_back({l,r});
    int ans1=0,ans2=0;
    for(int i=0;i<ve.size();i++)
    {
        ans1=max(ve[i].second-ve[i].first,ans1);
        if(i) ans2=max(ans2,ve[i].first-ve[i-1].second);
    }
    cout<<ans1<<" "<<ans2;
    return 0;
}

以上是关于1343. 挤牛奶难度: 一般 / 模拟 区间合并的主要内容,如果未能解决你的问题,请参考以下文章

Milking Cows 挤牛奶 USACO 排序 模拟

codevs——1385 挤牛奶

Cogs 465. 挤牛奶

挤牛奶

挤牛奶 milking

USACO挤牛奶