Submission
Status:
[PPPPP][PPPPP][PPPPPPPPPP]
Subtask/Task Score:
{20/20}{30/30}{50/50}
Score: 100
User: ssss
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-09 00:41:04
#include<bits/stdc++.h>
using namespace std;
int main(){
long long total=0;
int n,n1,n2,maxx=INT_MIN,minn=INT_MAX;
vector<pair<int,int>>all;
cin>>n;
for(int i=0;i<n;i++){
cin>>n1>>n2;
minn = min(minn,n1);
maxx = max(maxx,n2);
all.push_back({n1,n2});
total+=(long long)(n2-n1);
}
long long t=total/2;
int l=minn,r=maxx,ans=0;
while(l<=r){
int mid=l+(r-l)/2;
long long now=0;
for(auto i:all){
int c = min(mid+1,i.second) - i.first;
if(c>0){
now+=c;
}
}
if(now>=t){
ans=mid;
r=mid-1;
}else{
l=mid+1;
}
}
cout<<ans;
}