A4724 | 下棋
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
有一个 $1 \times m$ 的棋盘,初始时棋盘上没有棋子。现在有 $n$ 次操作,每次操作尝试在棋盘的第 $(1, a_i)$ 位置放置一颗棋子。放置规则如下:
- 如果第 $(1, a_i)$ 位置已有棋子,则尝试将棋子放到第 $(1, a_i + 1)$ 位置。
- 如果第 $(1, a_i + 1)$ 位置也有棋子,则该次操作不会产生任何效果。
请问最后棋盘上棋子的数量?
$\large{数据范围}$
- $1 \leq n, m \leq 2 \times 10^5$
- $1 \leq a_i \leq m - 1$
- 如果第 $(1, a_i)$ 位置已有棋子,则尝试将棋子放到第 $(1, a_i + 1)$ 位置。
- 如果第 $(1, a_i + 1)$ 位置也有棋子,则该次操作不会产生任何效果。
请问最后棋盘上棋子的数量?
$\large{数据范围}$
- $1 \leq n, m \leq 2 \times 10^5$
- $1 \leq a_i \leq m - 1$
输入格式
第一行输入两个整数,代表 $n, m$。
第二行输入 $n$ 个整数代表 $a_i$。
第二行输入 $n$ 个整数代表 $a_i$。
输出格式
输出一个整数代表答案。
输入输出样例
输入 #1
3 6 1 1 1
输出 #1
2
样例解释:棋盘长度为 $6$,一共 $3$ 个操作,分别如下:
操作 $1$:在 $1$ 的位置放一颗棋子,此时棋盘上的棋子数量为 $1$。
操作 $2$:在 $1$ 的位置放一颗棋子,但是这个位置有棋子了,那么就放到下一个位置上去,所以在 $2$ 的位置上放一颗棋子,此时棋盘上的棋子数量为 $2$。
操作 $3$:在 $1$ 的位置放一颗棋子,但是这个位置有棋子了,那么就放到下一个位置上去,结果下 $2$ 的位置也有棋子,那么就不放这个棋子了,所以棋盘上最终的棋子数量为 $2$。
操作 $1$:在 $1$ 的位置放一颗棋子,此时棋盘上的棋子数量为 $1$。
操作 $2$:在 $1$ 的位置放一颗棋子,但是这个位置有棋子了,那么就放到下一个位置上去,所以在 $2$ 的位置上放一颗棋子,此时棋盘上的棋子数量为 $2$。
操作 $3$:在 $1$ 的位置放一颗棋子,但是这个位置有棋子了,那么就放到下一个位置上去,结果下 $2$ 的位置也有棋子,那么就不放这个棋子了,所以棋盘上最终的棋子数量为 $2$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?