Submission

Status:

[-SSSS][SSSSS][SSSSSSSSSS]

Subtask/Task Score:

{0/20}{0/30}{0/50}

Score: 0

User: theem1502

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

Language: cpp

Time: 0.080 second

Submitted On: 2026-02-14 19:45:04

#include <bits/stdc++.h>
using namespace std;
    int sweep[20000003];
        int thearray[20000003];
            int prefixarray[20000003];
int main() {
    int num;
    cin >> num;

    for (int i = 0; i < num; i++) {
        int first, second;
        cin >> first >> second;
        sweep[first]++;
        sweep[second]--;
    }
    thearray[0] = sweep[0];
    prefixarray[0] = thearray[0];
    for (int i = 1; i <= 20000000; i++) {
        thearray[i] = thearray[i-1] + sweep[i];
        prefixarray[i] = prefixarray[i-1] + thearray[i];
    }

    int median = prefixarray[20000000] / 2;
    if (median == 0) {
        median = 1;
    }
    cout << upper_bound(prefixarray, prefixarray + 20000000, median ) - prefixarray;


/*
long long K = prefixarray[20000000];
long long target = K / 2;
if (target == 0) target = 1;

int ans = lower_bound(prefixarray,
                      prefixarray + 20000001,
                      target) - prefixarray;

cout << ans;
*/
}
/*
#include <bits/stdc++.h>
using namespace std;
    int sweep[20000003];
        int thearray[20000003];
            int prefixarray[20000003];
int main() {
    int num;
    cin >> num;

    for (int i = 0; i < num; i++) {
        int first, second;
        cin >> first >> second;
        sweep[first]++;
        sweep[second]--;
    }
    thearray[0] = sweep[0];
    prefixarray[0] = thearray[0];
    for (int i = 1; i <= 20000000; i++) {
        thearray[i] = thearray[i-1] + sweep[i];
        prefixarray[i] = prefixarray[i-1] + thearray[i];
    }
    int median = prefixarray[20000000] / 2;
    cout << lower_bound(prefixarray, prefixarray + 20000000, median) - prefixarray;


}
*/