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;
}