rt,代码如下:
#include <iostream>
#define ll long long
using namespace std;
ll N,M,Seq[3000010];
inline ll read(){
ll f=1,k=0;
char c=getchar();
while(c<'0'||c>'9'){
if(c=='-') f=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
k=(k<<1)+(k<<3)+(c^48);
c=getchar();
}
return f*k;
}
inline void write(ll x){
if(x<0) putchar('-'),x=-x;
if(x>9) write(x/10);
putchar(x%10+'0');
}
inline ll del(ll x){
sort(Seq,Seq+N);
ll flag = -1;
for (ll i=1;i<=N;++i){
if (Seq[i]==x){
for (ll j=i;j<=N;++j){
Seq[j] = Seq[j+1];
}
flag = 1;
break;
}
}
if (flag!=-1) --N;
return flag;
}
inline ll solve(){
sort(Seq,Seq+N);
ll ANS = 0;
for (ll i=1;i<=N;++i){
if (i==N) ANS += abs(Seq[1] - Seq[i]);
else ANS += abs(Seq[i+1] - Seq[i]);
}
return ANS;
}
int main(){
N = read();
M = read();
for (ll i=1;i<=N;++i) Seq[i] = read();
while (M--){
ll op,x;
op = read();
x = read();
if (op==1){
ll flag = del(x);
if (flag==-1) write(-1);
else write(solve());
cout << "\n";
}
else{
Seq[++N] = x;
write(solve());
cout << "\n";
}
}
}