Submission

Status:

[PPPPP][PPPPP][PPPPPPPPPP]

Subtask/Task Score:

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

Score: 100

User: Kitsunox

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

Language: cpp

Time: 0.003 second

Submitted On: 2025-12-16 12:06:43

#include <bits/stdc++.h>
using namespace std;
int n,mn = 1e9,bookct;
vector<pair<int,int>> mp;

bool ck(int md){
    int ct = 0;
    for(auto [a,b] : mp){
        if(md >= b-1)ct += b-a;
        else if(md >= a)ct += md-a+1;
    }
    return ct >= bookct;
}

int main(){
    cin >> n;
    
    for(int i = 0;i < n;i++){
        int a,b;
        cin >> a >> b;
        mp.push_back({a,b});
        mn = min(mn,a);
        bookct += b-a;
    }
    bookct /= 2;
    int l = mn,r = 2e7+10;
    while(l < r){
        int md = (l+r)/2;
        if(ck(md)) r = md;
        else l = md+1;
    }
    cout << l;

}