Submission
Status:
[PP-SS][SSSSS][SSSSSSSSSS]
Score: 0
User: detectives_conan
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.002 second
Submitted On: 2025-03-14 14:55:44
/*
Author : detective conan
Problem : Banana picker
created : 13/03/2025 20:27 UTC+7
*/
#include <bits/stdc++.h>
#define FOR(i, s, t) for(int i = s; i <= t; ++i)
#define rep(i, s, t) for(int i = s; i >= t; --i)
#define HAVE_TESTCASE false
#define DB(n, s) cout << n << s
#define ANS(n, s) DB(n, s)
#define mod (int)(1e9 + 7)
#define sum(a, b) ((a%mod) + (b%mod))%mod
#define mul(a, b) ((a%mod) * (b%mod))%mod
#define conan cin.tie(nullptr)->sync_with_stdio(false)
using namespace std;
using i64 = int64_t;
using u64 = unsigned i64;
using u32 = unsigned;
int n, k, l, r, ans;
vector<array<int, 2>> vc;
void solve(){
cin >> n;
vc.resize(n + 1);
FOR(i, 1, n) cin >> vc[i][0] >> vc[i][1], vc[i][1]--, r = max(r, vc[i][1]), k += (vc[i][1] - vc[i][0] + 1);
k /= 2;
while(l <= r){
int mid = (l + r) >> 1, cnt = 0;
FOR(i, 1, n){
if(mid >= vc[i][0] && mid <= vc[i][1]) cnt += (mid - vc[i][0] + 1);
else if(mid > vc[i][1]) cnt += (vc[i][1] - vc[i][0] + 1);
}
if(cnt >= k) ans = mid, r = mid - 1;
else l = mid + 1;
}
ANS(ans, '\n');
}
int main(){
conan;
int t = 1;
if(HAVE_TESTCASE) cin >> t;
while(t--) solve();
}