Submission

Status:

[-SSSS][SSSSS][SSSSSSSSSS]

Subtask/Task Score:

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

Score: 0

User: kimza

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-10 20:10:05

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e9;
int32_t main(){
    cin.tie(nullptr)->sync_with_stdio(false);
    int n;
    cin >> n; 
    vector<pair<int,int>> v;
    int cnt = 0;
    for(int i=0;i<n;i++){
        int a,b;
        cin >> a >> b;
        v.push_back({a,b});
        cnt += b-a;
    }  
    //cout << cnt;
    int target = (cnt/2)+1;
    int l=0,r=N;
    while(r-l>1){
        int mid = l+(r-l)/2;
        int sum =0;
        //check boooks
        for(auto& x:v){
            if(mid < x.first) continue;
            sum += min(mid, x.second - 1) - x.first + 1;
            
        }
        if(sum<target) l=mid;
        else r=mid;
    }
    cout << r;
    return 0;
}