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