ABC474 B - Exit Order
退場順
考え方
この人は、何番目のグループになるのかを求められればよい。
実はこれは簡単で、番号から $1$ を引いて 0-indexed にしてから $10$ で割ればよい。
指定順位と実際の退場順位に同じことをやって、全ての人で商が一致するか確認すればよい。
例えば $23$ 番席の人が $27$ 番目に退場したとしよう。
指定の退場順は、$23-1=22$ を $10$ で割って $2$ 番目グループである。
実際の退場順は、$27-1=26$ を $10$ で割って $2$ 番目グループである。
(グループ番号も 0-indexed になっている)
一致しているので、この人は正しく退場している。
入力例1での動作
入力を受け取る。
n: 25
p:
{1, 6, 5, 7, 8, 10, 2, 4, 3, 9,
15, 17, 12, 11, 19, 20, 18, 13, 14, 16,
21, 23, 24, 22, 25}
座席番号から $1$ を引いて 0-indexed にすると、退場順は次のようになる。
0, 5, 4, 6, 7, 9, 1, 3, 2, 8,
14, 16, 11, 10, 18, 19, 17, 12, 13, 15,
20, 22, 23, 21, 24
まず、$0$ 番目から $9$ 番目までを見る。
この範囲では、退場順位を $10$ で割った商は全て $0$ である。
また、対応する座席番号も全て $0$ 以上 $9$ 以下なので、座席番号を $10$ で割った商も全て $0$ である。
次に、$10$ 番目から $19$ 番目までを見る。
この範囲では、退場順位を $10$ で割った商は全て $1$ である。
また、対応する座席番号も全て $10$ 以上 $19$ 以下なので、座席番号を $10$ で割った商も全て $1$ である。
最後に、$20$ 番目から $24$ 番目までを見る。
この範囲では、退場順位を $10$ で割った商は全て $2$ である。
また、対応する座席番号も全て $20$ 以上 $24$ 以下なので、座席番号を $10$ で割った商も全て $2$ である。
全ての人について商が一致するので、答えは Yes である。
注意点
特になし。
別解
特になし。