Submission
Status:
[P-SSS][SSSSS][SSSSSSSSSS]
Subtask/Task Score:
{0/20}{0/30}{0/50}
Score: 0
User: Shangbin
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-12 12:12:21
#include <bits/stdc++.h>
using namespace std;
using pii = pair<int, int>;
const int maxn = 100;
int n, x, y, num_count = 0;
vector<pii> range;
int getIndex(int val){
int result = 0;
for (auto [cx, cy] : range){
if (val >= cy) result += (cy - cx);
else result += (val - cx);
}
return result;
}
int main(){
cin.tie(nullptr)->sync_with_stdio(0);
cin >> n;
for (int i = 0; i < n ; i++){
cin >> x >> y;
range.push_back({x, y});
num_count += (y - x);
}
int cur = 1;
for (auto [cx, cy] : range){
for (int i = cx; i < cy; i++){
if (cur == num_count/2) return cout << i, 0;
cur++;
}
}
// int l = 0, r = num_count - 1;
// cout << num_count << '\n';
// while (l < r){
// int mid = (l+r)/2;
// if (getIndex(mid) <= num_count/2) l = mid;
// else r = mid+1;
// cout << mid << ' ' << getIndex(mid) << '\n';
// }
// cout << l;
}