Submission

Status:

[-SSSS][SSSSS][SSSSSSSSSS]

Subtask/Task Score:

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

Score: 0

User: PeachyNHM

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-09 09:03:15

#include <bits/stdc++.h>
using namespace std;

int main(){
    int n;
    cin >> n;

    vector<pair<long long,long long>> v(n);
    long long K = 0;

    for(int i=0;i<n;i++){
        cin >> v[i].first >> v[i].second;
        K += v[i].second - v[i].first;
    }

    long long target = K/2;

    long long l = 0, r = LLONG_MAX , ans = 0;

    while(l <= r){
        long long mid = (l+r)/2;

        long long cnt = 0;
        for(auto [x,y] : v){
            if(mid >= y) cnt += (y-x);
            else if(mid >= x) cnt += (mid-x+1);
        }

        if(cnt > target){
            ans = mid;
            r = mid-1;
        }else{
            l = mid+1;
        }
    }

    cout << ans;
}