Submission

Status:

[PP-SS][SSSSS][SSSSSSSSSS]

Subtask/Task Score:

{0/20}{0/30}{0/50}

Score: 0

User: Quinruj

Problemset: ห้องสมุดเมือง 3M

Language: cpp

Time: 0.002 second

Submitted On: 2025-11-08 17:38:33

#include <bits/stdc++.h>
#define ll long long
#define pll pair<ll,ll>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int n;cin>>n;
    vector<pll> v;
    for (int i = 0;i<n;i++){
        int l,r;cin>>l>>r;
        r--;
        bool found = false;
        for (auto &[vl,vr] : v){
            if (l <= vr && r >= vr){
                vr = r;
                found = true;
                break;
            }
            else if (r >= vl && l <= vl){
                vl = l;
                found = true;
                break;
            }
        }
        if (!found) v.emplace_back(l,r);
    }
    sort(v.begin(),v.end());
    vector<ll> sz(v.size()+1);
    for (int i = 1;i<sz.size();i++) {
        int n = v[i-1].second-v[i-1].first+1;
        sz[i] = sz[i-1]+n;
        // cout << sz[i] << ' ';
    }
    ll mx = sz[sz.size()-1];
    ll fi = mx/2;
    auto it = upper_bound(sz.begin(),sz.end(),fi)-sz.begin();
    fi = fi - sz[it-1];
    cout << v[it-1].first + fi - 1;
}