Submission

Status:
[PP-SS][SSSSS][SSSSSSSSSS]

Score: 0

User: Nathlol2

Problemset: ห้องสมุดเมือง 3M

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-10 12:42:06

#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    
    int n;
    cin >> n;
    vector<pair<int, int>> v;
    for (int i = 0; i < n; i++) {
        int a, b;
        cin >> a >> b;
        v.push_back({a, b});
    }

    sort(v.begin(), v.end());

    vector<pair<int, int>> merged;
    merged.push_back(v[0]);

    for (int i = 1; i < n; i++) {
        auto [a, b] = v[i];
        auto &[last_a, last_b] = merged.back();

        if (a <= last_b) {
            last_b = max(last_b, b);
        } else {
            merged.push_back({a, b});
        }
    }

    int total_length = 0;
    for (auto &[a, b] : merged) {
        total_length += (b - a);
    }

    int half_length = total_length / 2;
    int current_length = 0;
    for (auto &[a, b] : merged) {
        if (current_length + (b - a) >= half_length) {
            int pos = a + (half_length - current_length);
            cout << pos - 1 << '\n';
            return 0;
        }
        current_length += (b - a);
    }
}