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:40:28
#include <bits/stdc++.h>
using namespace std;
int main() {
int n; cin >> n;
vector<pair<int, int>> num;
int sum = 0;
for (int i = 0; i < n; i++) {
int x, y;
cin >> x >> y;
num.push_back({x, y});
sum += y-x;
}
int pos = sum/2;
int low = 0, high = 20000000;
int res = low;
while (low <= high) {
int mid = low+(high-low)/2;
int cnt = 0;
for (auto [x, y] : num) {
cnt += max(0, min(mid+1, y) - x);
}
if (cnt > pos) {
high = mid-1;
} else {
low = mid+1;
}
}
cout << low-1;
return 0;
}