Submission

Status:

[P-SSS][SSSSS][SSSSSSSSSS]

Subtask/Task Score:

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

Score: 0

User: koon

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-06 09:45:03

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

int main() {
    long long n; cin >> n;
    vector<pair<long long, long long>> num;
    long long sum = 0;
    for (long long i = 0; i < n; i++) {
        long long x, y;
        cin >> x >> y;
        num.push_back({x, y});
        sum += y-x;
    }
    long long pos = sum/2;
    long long low = 0, high = 20000000;
    long long res = low;
    while (low <= high) {
        long long mid = low+(high-low)/2;
        long long cnt = 0;
        for (auto [x, y] : num) {
            cnt += max(0LL, min(mid+1, y) - x);
        }

        if (cnt > pos) {
            high = mid-1;
        } else {
            low = mid+1;
        }
    }
    cout << low-1;
    return 0;
}