Submission

Status:
[PPPPP][PPPPP][PPPPPPPPPP]

Score: 100

User: Nathlol2

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-15 22:36:23

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

int32_t main(){
    ios::sync_with_stdio(false);
    cin.tie(0);

    int n;
    cin >> n;

    vector<int> s(n + 1), e(n + 1);
    int len = 0, l = 0, r = INT_MAX;
    for (int i = 1; i <= n; i++) {
        int a, b;
        cin >> a >> b;
        s[i] = a;
        b--;
        e[i] = b;
        len += b - a + 1;
    }
    auto ok = [&](int mid){
        int val = 0;
        for(int i = 1; i <= n; i++){
            if (mid < s[i]){
                continue;
            }else if(mid >= e[i]){
                val += e[i] - s[i] + 1;
            }else val += mid - s[i] + 1;
        }
        return val <= max(len / 2 - 1, 0);
    };
    while (l < r) {
        int mid = (l + r) / 2;
        if(ok(mid)){
            l = mid + 1;
        }else {
            r = mid;
        }
    }
    cout << l << '\n';
}