Submission
Status:
[PPPPP][PPPPP][PPPPPPPPPP]
Subtask/Task Score:
{20/20}{30/30}{50/50}
Score: 100
User: kimza
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-10 20:18:27
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e9;
int32_t main(){
cin.tie(nullptr)->sync_with_stdio(false);
int n;
cin >> n;
vector<pair<int,int>> v;
int cnt = 0;
for(int i=0;i<n;i++){
int a,b;
cin >> a >> b;
v.push_back({a,b});
cnt += b-a;
}
//cout << cnt;
int target = cnt/2;
if(target < 1) target = 1;
int l=-1,r=N;
while(r-l>1){
int mid = l+(r-l)/2;
int sum =0;
//check boooks
for(auto& x:v){
if(mid < x.first) continue;
sum += min(mid, x.second - 1) - x.first + 1;
}
if(sum<target) l=mid;
else r=mid;
}
cout << r;
return 0;
}