Submission
Status:
----------
Score: 0
User: Cmoss9
Problemset: Dvaravati-LCS
Language: cpp
Time: 0.002 second
Submitted On: 2025-03-18 21:49:21
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(0); cin.tie(NULL);
int room;
cin >> room;
int x[room], y[room];
for (int i = 0; i < room; i++) {
cin >> x[i] >> y[i];
}
int max_value = 0;
for (int i = 0; i < room; i++) {
max_value = max(max_value, y[i]);
}
// cout << max_value << '\n';
vector<int> freq(max_value + 1, 0);
for (int i = 0; i < room; i++) {
for (int j = x[i]; j < y[i]; j++) {
freq[j]++;
}
}
int total = 0;
int median = -1;
int half = 0;
// First pass to find the half size
for (int i = 0; i <= max_value; i++) {
total += freq[i];
}
half = total / 2; // half population
// Second pass to find the median value
total = 0;
for (int i = 0; i <= max_value; i++) {
total += freq[i];
if (total >= half) {
median = i;
break;
}
}
cout << median << endl;
return 0;
}