P8939 题解(2023 激励计划评分 7)
SoundOfDestiny · · 题解
分析
首先可以发现一个性质,当
那么我们只需要维护序列的极值即可,由于序列可能有重复,所以这里用 multiset 维护。
时间复杂度
代码
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
int n, q;
multiset<int> s;
signed main()
{
cin.tie(0), cout.tie(0), ios::sync_with_stdio(0);
cin >> n >> q;
for (int i = 1, a; i <= n; i++)
cin >> a, s.emplace(a);
while (q--)
{
int op, x;
cin >> op >> x;
if (op == 1)
{
auto it = s.find(x);
if (it == s.end())
{
cout << -1 << endl;
continue;
}
s.erase(it);
}
else
s.emplace(x);
cout << (*(--s.end()) - *s.begin()) * 2 << endl;
}
}