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 11:03:30
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
vector<long long> X(n), Y(n);
long long K = 0;
for(int i=0;i<n;i++){
cin >> X[i] >> Y[i];
K += (Y[i] - X[i]);
}
long long target = K/2;
long long l = 0, r = 20000000, ans = 0;
while(l <= r){
long long mid = (l+r)/2;
long long count = 0;
for(int i=0;i<n;i++){
if(mid < X[i]) continue;
else if(mid >= Y[i])
count += Y[i] - X[i];
else
count += mid - X[i] + 1;
}
if(count > target){
ans = mid;
r = mid - 1;
}
else{
l = mid + 1;
}
}
cout << ans;
}