Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<queue>
- #include<vector>
- #include<limits>
- #define endl '\n'
- using namespace std;
- int main() {
- cin.tie(nullptr);
- ios::sync_with_stdio(false);
- priority_queue<long long, vector<long long>, less<long long>> l;
- priority_queue<long long, vector<long long>, greater<long long>> r;
- l.emplace(numeric_limits<long long>::min());
- r.emplace(numeric_limits<long long>::max());
- int n, cnt = 0;
- auto sort = [](auto & v) {
- for (size_t i = 0; i < v.size(); i++)
- for (size_t j = i; j < v.size(); j++)
- if (v[i] > v[j]) swap(v[i], v[j]);
- };
- while (cin >> n) {
- vector<long long> v{l.top(), r.top(), n};
- sort(v), l.pop(), r.pop();
- if ((++cnt) & 1)
- l.emplace(v[0]), l.emplace(v[1]), r.emplace(v[2]), cout << l.top() << endl;
- else
- l.emplace(v[0]), r.emplace(v[1]), r.emplace(v[2]), cout << (l.top() + r.top()) / 2 << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement