Submission
Status:
[PPPPP][PPPPP][PPPPPPPPPP]
Subtask/Task Score:
{20/20}{30/30}{50/50}
Score: 100
User: Chawin
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-21 14:04:41
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int main(){
ios_base::sync_with_stdio(0), cin.tie(0);
int n;
cin >> n;
ll k = 0, l = 20000000, r = 0;
vector<ll> x(n), y(n);
for(int i = 0; i < n; i++){
cin >> x[i] >> y[i];
k += y[i] - x[i];
l = min(l, x[i]);
r = max(r, y[i]-1);
}
ll median = k/2;
while(l < r){
ll mid = l + (r - l)/2;
ll cnt = 0;
for(int i = 0; i < n; i++){
if(x[i] <= mid){
cnt += min(y[i] - x[i], mid - x[i] + 1);
}
}
if(cnt >= median) r = mid;
else l = mid + 1;
}
cout << l;
return 0;
}