yukicoder - No.689 E869120 and Constructing Array 3

問題リンク

解説

いろいろ解き方があると思います。

ある程度1で埋めてしまいましょう。1を c個置いたとき、 c (c - 1) / 2のペアが素数になります。

次に2と6を1つずつおきます。2と6は1とペアを組むと素数になるので、 2cペアが増えます。

最後に、5を1つ置くと2個ペアが増えて、3を置くと1個ペアが増えるようになってると思うので、できるだけ5で埋めて、最後の調整が必要なら3で埋めましょう。

これで250以内に収まります(全探索も簡単にできるので証明は実際に回すと楽です)

提出コード

yukicoder.me