Submission
Status:
[PPPPP][PPPPP][PPPPPPPPPP]
Score: 100
User: njoop
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.002 second
Submitted On: 2025-03-09 23:38:19
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, le[110], ri[110], cnt, l=0, r=2e7;
bool check(int no) {
int val = 0;
for(int i=1; i<=n; i++) {
if(no < le[i]) continue;
if(no >= ri[i]) val += ri[i]-le[i]+1;
else val += no-le[i]+1;
}
return val <= max(cnt/2-1, 0LL);
}
signed main() {
cin.tie(0)->sync_with_stdio(0);
cin >> n;
for(int i=1; i<=n; i++) {
cin >> le[i] >> ri[i];
ri[i]--;
cnt += ri[i]-le[i]+1;
}
while(l < r) {
int mid = (l+r)/2;
if(check(mid)) {
l = mid+1;
} else {
r = mid;
}
}
cout << l;
return 0;
}