Submission
Status:
[PPPPP][PPPPP][PPPPPPPPPP]
Score: 100
User: Nathlol2
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.002 second
Submitted On: 2025-03-15 22:36:23
#include <bits/stdc++.h>
using namespace std;
int32_t main(){
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
vector<int> s(n + 1), e(n + 1);
int len = 0, l = 0, r = INT_MAX;
for (int i = 1; i <= n; i++) {
int a, b;
cin >> a >> b;
s[i] = a;
b--;
e[i] = b;
len += b - a + 1;
}
auto ok = [&](int mid){
int val = 0;
for(int i = 1; i <= n; i++){
if (mid < s[i]){
continue;
}else if(mid >= e[i]){
val += e[i] - s[i] + 1;
}else val += mid - s[i] + 1;
}
return val <= max(len / 2 - 1, 0);
};
while (l < r) {
int mid = (l + r) / 2;
if(ok(mid)){
l = mid + 1;
}else {
r = mid;
}
}
cout << l << '\n';
}