atcoder#AGC049C. [AGC049C] Robots
[AGC049C] Robots
题目描述
数直線上にロボットがいます. 具体的には,各 について,座標 に 台のロボットがおり,ロボット と呼ばれています.
たくさんのボールがあります. それぞれのボールには,正整数が つ書いてあります. これらのボールの情報は,長さ の整数列 と で表されます. 具体的には,各 () について, の書かれたボールが 個あります.
今からすぬけくんは,次の操作を行います.
-
Step 1: 個以上のボールを選び,そこに書かれている整数を, 以上 以下の好きな正整数に書き換える.(ボールごとに書き換える整数を選択できる)
-
Step 2: ボールを つずつ食べる.ボールを食べる順番は自由に選べる.ボールを食べるたびに,以下の操作を行う.
- 今食べたボールに書かれた整数を とする.ロボット が存在するなら,それを,現在の座標より 小さい座標へ移動させる.もし移動先に別のロボットがいるなら,そのロボットは破壊される.(ロボット は無事である)
すぬけくんは,ロボット が破壊されないように,すべてのボールを食べきりたいです. すぬけくんが目標を達成するために Step 1 で書き換える必要のあるボールの個数の最小値を求めてください.
输入格式
入力は以下の形式で標準入力から与えられる.
输出格式
答えを出力せよ.
题目大意
数轴上有 个机器人。初始时,编号为 的机器人在点 上。 ()
给出两个长度为 的序列 ,表示有 个球被写上了数 ()。
Snuke 将会执行以下两个操作:
- 选择任意个球(可以为 个),对于每个球将其上的数改为一个整数 满足 ,不同的球可以选择不同的数。
- 按任意顺序吃掉所有的球。每当他吃掉一个球时,设写在这个球上的数为 ,如果编号为 的机器人还没被摧毁,则将编号为 的机器人向左移 个单位长度。如果新的位置上有机器人,则新的位置上的机器人将被摧毁。
Snuke 希望在不摧毁编号为 的机器人的前提下吃掉所有球。求他在执行第一个操作时最小选择的球的个数。
3
1 2 3
1 2 1
1
4
1 3 5 7
3 1 4 1
0
提示
制約
- $ 1\ \leq\ A_1\ <\ A_2\ <\ \ldots\ <\ A_N\ \leq\ 10^9 $
Sample Explanation 1
の書かれたボールを つ選び, に書き換えればよいです. その後,以下の順序でボールを食べればよいです. - の書かれたボールを食べる.ロボット を座標 から座標 へ移動させる. ロボット が破壊される. - の書かれたボールを食べる.ロボット を座標 から座標 へ移動させる. - の書かれたボールを食べる.ロボット を座標 から座標 へ移動させる. ロボット が破壊される. - の書かれたボールを食べる.ロボット はすでに破壊されているので,何もしない.