[DTOI 2023] B. 去年 11 月卵梦蕾简易钨丝

题目背景

# 大样例已修复 ![](https://cdn.luogu.com.cn/upload/image_hosting/4il8fn7w.png)

题目描述

给定序列 $\{a_n\}$,支持两种形如 `opt x` 操作: 1. `1 x`:删除一个数 $x$,若序列中没有 $x$,则输出 $-1$ 并跳过本次操作,**若有多个 $x$,则仅删除一个**。 2. `2 x`:向序列中插入一个数 $x$。 **对于每个未被跳过的操作**,试求出 $a$ 的一个排列 $p$,最小化 $\sum \limits_{i=1}^{n} \lvert p_{i+1}-p_i\rvert$ 的值,即最小化 $\lvert p_2-p_1\rvert+\lvert p_3-p_2\rvert+\dots+\lvert p_{n+1}-p_n\rvert$ 的值,其中 $p_{n+1}=p_1$。 **保证任意时刻序列内至少有 $1$ 个数。** --- $p$ 是 $a$ 的排列当且仅当对于 $\forall x$,$\sum [p_i=x]=\sum [a_i=x]$。 简而言之,$p$ 是 $a$ 经过某种方式重排后的结果。 例如 $\{1,1,4,5,1,4\}$ 是 $\{1,5,4,1,4,1\}$ 的一个排列,但是 $\{1,5,4,1,4,7\}$ 不是。

输入输出格式

输入格式


输入共 $q + 2$ 行。 第 $1$ 行两个正整数 $n, q$。 第 $2$ 行 $n$ 个非负整数 $a_1, a_2, \dots, a_n$,代表初始的序列。 第 $3 \sim q + 2$ 行,每行两个数 $opt, x$ , 代表一个询问。

输出格式


输出有多行。 每行输出 $1$ 个数,代表一个未被忽略的询问的答案,否则输出 `-1`。

输入输出样例

输入样例 #1

5 3
1 2 3 4 10
1 4
1 10
2 9

输出样例 #1

18
4
16

说明

#### 【样例 1 解释】 对于第一个询问,删除了序列中的数 $4$,则当前序列为$ 1, 2, 3, 10 $, 可以证明 $18$ 为当前序列的最小答案。 对于第二个询问,删除了序列中的数 $10$,则当前序列为$ 1, 2, 3 $, 可以证明 $4$ 为当前序列的最小答案。 对于第三个询问,向序列中添加了一个数 $9$,则当前序列为$ 1, 2, 3, 9 $, 可以证明 $16$ 为当前序列的最小答案。 #### 【样例 2】 见附加文件中的 `abs/abs2.in` 与 `abs/abs2.out`。 该样例满足测试点 $1\sim 4$ 的限制。 #### 【样例 3】 见附加文件中的 `abs/abs3.in` 与 `abs/abs3.out`。 该样例满足测试点 $7\sim 10$ 的限制。 #### 【数据范围与提示】 记 $w$ 为值域大小,对于所有测试数据,保证 $n,q\leq 10^6$,$0\leq w\leq 10^6$。 每个测试点的具体限制见下表: | 测试点编号 | $n,q\leq$ | $w$ | | :----------: | :----------: | :----------: | | $1\sim 4$ | $100$ | $10$ | | $5\sim 6$ | $10^3$ | $10^3$ | | $7\sim 10$ | $10^6$ | $10^6$ |