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;
}