Submission
Status:
[PPPP-][SSSSS][SSSSSSSSSS]
Score: 0
User: Nakornrat
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.002 second
Submitted On: 2025-03-17 22:06:28
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
using pii = pair<int, int>;
vector<pii> a;
int n;
int lcal(int mid){
int va = 0;
for(int i=0;i<n;i++){
if(mid>a[i].first){
va+=min(mid, a[i].second)-a[i].first;
}
}
return va;
}
int main()
{
ios::sync_with_stdio(false);cin.tie(0);
cin>>n;
int sz = 0;
a.resize(n);
int l = INT_MAX, r = 0;
for(int i=0;i<n;i++){
cin>>a[i].first>>a[i].second;
sz+=a[i].second-a[i].first;
l = min(l, a[i].first);
r = max(r, a[i].second);
}
r = r-1;
int med = sz/2;
--med;
int ans = -1;
int mid;
while(l<=r){
mid = l+(r-l)/2;
if(lcal(mid)>=med){
ans = mid;
r = mid-1;
}else{
l = mid+1;
}
}
cout<<ans;
}