Submission
Status:
[-SSSS][SSSSS][SSSSSSSSSS]
Score: 0
User: krittaphot
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.002 second
Submitted On: 2025-03-15 22:35:26
#include <bits/stdc++.h>
using namespace std;
long long solve(vector<pair<int,int>> &v,int mid)
{
long long cnt = 0;
for(auto &i : v){
if(mid > i.first){
cnt += min(i.second-i.first,mid-i.first+1);
}
}
return cnt;
}
int main()
{
int n;
cin >> n;
vector<pair<int,int>> v(n);
long long total = 0;
for(int i = 0;i<n;i++){
cin >> v[i].first >> v[i].second;
total += v[i].second - v[i].first;
}
long long median = total/2;
long long left = 0,right = 20000000000,ans;
while(left <= right){
long long mid = left +(right-left)/2;
if(solve(v,mid) < median){
left = mid+1;
}
else
{
ans = mid;
right = mid-1;
}
}
cout << ans;
}