Blitz Round #25 A - Sum vs MEX
- サイト
- EOLYMP
- コンテスト
- Blitz Round #25
- 問題
- A - Sum vs MEX
から の順列 のうち、すべての () について
を満たすものを 1 つ構築するか、存在しないことを判定する問題です。ここでの は「含まれない最小の正の整数」です。
- 、テストケースの の総和は 以下
正確な問題文は元の問題ページを見てください。
が奇数のとき:存在しない
Section titled “nnn が奇数のとき:存在しない”のとき、 には から がすべて含まれるので 、総和は です。
なので、割り切れるのは が偶数のときだけです。よって が奇数なら答えは NO です。
が偶数のとき: を最後に置く
Section titled “nnn が偶数のとき:111 を最後に置く”を最後に置くと、 では に が含まれないので となり、条件は常に満たされます。
のときは上で見たとおり、 が偶数なら割り切れます。
したがって、たとえば が条件を満たします。
Python
for _ in range(int(input())): N = int(input()) if N & 1: print("NO") else: ans = list(range(2, N + 1)) + [1] print("YES") print(*ans)