Submission

Status:

[PPPPP][PPPPP][PPPPPPPPPP]

Subtask/Task Score:

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

Score: 100

User: Kitsunox

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

Language: cpp

Time: 0.004 second

Submitted On: 2025-12-16 00:40:01

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n , imd;
vector<pair<int,int>> mp;

bool check(int md){
    int a = 0;
    for(auto [s,f]: mp){
        if (md >= f){
            a += f-s;
        } else if (md >= s){
            a += md - s + 1;
        }
    }
    if(a >= imd)return 1;
    return 0;
}

int32_t main(){
    cin >> n;
    int ct = 0;
    int mn = 1e10;
    for(int i = 0;i < n;i++){
        int a,b; cin >> a >> b;
        mp.push_back({a,b});
        ct += b-a;
        mn = min(mn,a);
    }
    imd = ct /2;
    int l = mn,r = 2e7+7;
    while(l < r){
        int md = (l+r)/2;//cout << r << ' ' << ' ' << md << ' ' << l << '\n';
        if(check(md))r = md;
        else l = md+1;
        
    }
    cout << l;

}