Submission #8275518


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=a;i<(b);++i)
#define debug(x) cerr<<#x<<": "<<x<<endl
#define trav(a,x) for(auto &a:x)
#define all(x) x.begin(),x.end()
#define sz(x) (int)(x).size()
typedef long long ll;
typedef pair<int,int> pii;
typedef vector<int> vi;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin >> n;
    vector<ll> l(n), r(n);
    rep(i,0,n) cin >> l[i] >> r[i];
    int j=0, k=0;
    rep(i,1,n) {
        if(l[i]>l[j]) j = i;
        if(r[i]<r[k]) k = i;
    }
    ll left = max(l[j], l[k]), right = min(r[j],r[k]);
    ll widest = 0;
    rep(i,0,n) widest=max(widest,r[i]-l[i]+1);
    ll ans = max(0LL,right-left+1)+widest;
    if(j!=k) {
        vector<pair<ll,ll>> v;
        rep(i,0,n) if(i!=j && i!=k) {
            v.emplace_back(max(0LL,r[k]-l[i]+1),max(0LL,r[i]-l[j]+1));
        }
        sort(all(v));
        ll ba = r[k]-l[k]+1, bb = r[j]-l[j]+1;
        ll best=0;
        rep(i,0,n-1) {
            ll a = ba;
            if(i<n-2) a = min(a, v[i].first);
            if(i-1>=0) bb = min(bb, v[i-1].second);
            best=max(best,a+bb);
        }
        ans = max(ans,best);
    }
    cout<<ans<<endl;
}

Submission Info

Submission Time
Task B - Two Contests
User Eliden
Language C++14 (GCC 5.4.1)
Score 600
Code Size 1259 Byte
Status AC
Exec Time 30 ms
Memory 3956 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status AC
AC × 34
Set Name Test Cases
Sample
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt
Case Name Status Exec Time Memory
00-sample-01.txt AC 1 ms 256 KiB
00-sample-02.txt AC 1 ms 256 KiB
00-sample-03.txt AC 1 ms 256 KiB
01-01.txt AC 1 ms 256 KiB
01-02.txt AC 12 ms 2168 KiB
01-03.txt AC 15 ms 2168 KiB
01-04.txt AC 16 ms 2296 KiB
01-05.txt AC 17 ms 2296 KiB
01-06.txt AC 12 ms 2040 KiB
01-07.txt AC 2 ms 384 KiB
01-08.txt AC 25 ms 3828 KiB
01-09.txt AC 3 ms 768 KiB
01-10.txt AC 28 ms 3828 KiB
01-11.txt AC 28 ms 3956 KiB
01-12.txt AC 2 ms 512 KiB
01-13.txt AC 25 ms 3700 KiB
01-14.txt AC 22 ms 3572 KiB
01-15.txt AC 5 ms 896 KiB
01-16.txt AC 10 ms 1404 KiB
01-17.txt AC 25 ms 3956 KiB
01-18.txt AC 29 ms 3956 KiB
01-19.txt AC 26 ms 3956 KiB
01-20.txt AC 30 ms 3956 KiB
01-21.txt AC 27 ms 3956 KiB
01-22.txt AC 29 ms 3956 KiB
01-23.txt AC 30 ms 3956 KiB
01-24.txt AC 30 ms 3956 KiB
01-25.txt AC 30 ms 3956 KiB
01-26.txt AC 30 ms 3956 KiB
01-27.txt AC 30 ms 3956 KiB
01-28.txt AC 29 ms 3956 KiB
01-29.txt AC 30 ms 3956 KiB
01-30.txt AC 29 ms 3956 KiB
01-31.txt AC 30 ms 3956 KiB