SP9063 SHUFFLEK - Shuffling cards
题目描述
有一副 $2N$ 张牌,每张牌的数字分别是 $1, 2, \ldots, 2N$,一开始,所有牌按照从上到下的顺序依次为递增排列。这些牌会经过洗牌机,根据 $M$ 个指令进行洗牌,指令通过 $M$ 个整数 $k_1, k_2, \ldots, k_M$ 来指定。每个整数 $k_i$($1 \le |k_i| < N$)代表了一条洗牌操作:
- 如果 $k_i > 0$:从牌堆中间取出 $2k_i$ 张牌,放到牌堆的顶部。
- 如果 $k_i < 0$:从牌堆中间取出 $-2k_i$ 张牌,插入到牌堆的底部。
经过这些指令洗牌后,X 先生得到了这副牌。他希望能通过丢弃一些牌,使得剩下的牌从上到下按照数值递增排列。你的任务是编写一个程序帮助 X 先生计算出最少需要丢弃的牌数。

输入格式
第一行是两个正整数 $N$ 和 $M$,表示牌的数量为 $2N$,指令的数量为 $M$。其中 $2 \le N \le 10^5$,$1 \le M \le 10^5$。第二行是 $M$ 个整数 $k_1, k_2, \ldots, k_M$,其中 $1 \le |k_i| < N$。
输出格式
输出一个整数,表示需要移除的最少牌数。
## 样例输入
```
3 2
-2 1
```
## 样例输出
```
2
```
**本翻译由 AI 自动生成**