Submission
Status:
[PPPP-][SSSSS][SSSSSSSSSS]
Score: 0
User: fluke
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.002 second
Submitted On: 2025-03-14 21:27:51
#include <bits/stdc++.h>
#define ll long long
#define f first
#define s second
#define pii pair<int,int>
#define piii tuple <int,int,int>
#define emb emplace_back
#define em emplace
#define all(x) x.begin(),x.end()
#define sp <<" "<<
#define DB cout<<"\n";system("pause");
using namespace std;
ll inf = 2e18;
int mod = 1e9+7;
int di[] = {0,1,0,-1};
int dj[] = {1,0,-1,0};
int main(){
//ios::sync_with_stdio(false);cin.tie(0);
int n;
cin>>n;
vector <pii> line;
int sum = 0;
for(int i=0;i<n;i++){
int x,y;
cin>>x>>y;
line.emb(x,1);
line.emb(y,-1);
sum += y-x;
}
sort(all(line));
int book = 0 ;
int size = 0;
int before = 0;
int now = 0;
int index_mean = (sum+1)/2;
for(int i=0;i<n*2;i++){
now = line[i].f;
book += size * (now - before);
// cout<<book;
// DB
if(book >= index_mean){
if(book == index_mean){
cout<<now -1 ;
return 0;
}
// while(book_now >= index_mean){
// book_now -= size;
// num_now -- ;
// }
int diff = book - index_mean;
cout<<now - 1 - diff/size;
return 0;
}
before = now;
size += line[i].s;
}
}