Submission
Status:
[PPPPP][xSSSS][SSSSSSSSSS]
Subtask/Task Score:
{20/20}{0/30}{0/50}
Score: 20
User: iij
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.248 second
Submitted On: 2025-10-20 21:49:12
#include <bits/stdc++.h>
using namespace std;
int qS(vector<int> v, int i) {
if (v.size() == 1) {
return v[0];
}
int pivot = v[int(v.size()/2)];
vector<int> lows, highs, pivots;
for (auto el : v) {
if (el == pivot) pivots.emplace_back(el);
if (el < pivot) lows.emplace_back(el);
if (el > pivot) highs.emplace_back(el);
}
if (i < lows.size()) {
return qS(lows, i);
} else if (i < lows.size() + pivots.size()) {
return pivots[0];
} else {
return qS(highs, i-lows.size()-pivots.size());
}
}
int main() {
int n, x, y;
cin >> n;
vector<int> v;
while(n--) {
cin >> x >> y;
for (int i = x; i < y; i++) {
v.emplace_back(i);
}
}
cout << qS(v, v.size()/2-1);
}