結論を言うと、N=2N = 2 のときは答えは 11 で、それ以外では答えは 22 です。
実験をしてみましょう。

  • N=2N=2 のとき、P=(1,2)P = (1, 2) とすればよく、集合は (3)(3)であり要素数は 11 です。
  • N=3N=3 のとき、P=(1,3,2)P = (1, 3, 2) とすればよく、集合は (4,5)(4, 5)であり要素数は 22 です。
  • N=4N=4 のとき、P=(1,4,2,3)P = (1, 4, 2, 3) とすればよく、集合は (5,6,5)(5, 6, 5)であり要素数は 22 です。
  • N=5N=5 のとき、P=(1,5,2,4,3)P = (1, 5, 2, 4, 3) とすればよく、集合は (6,7,6,7)(6, 7, 6, 7)であり要素数は 22 です。

このようにP=(1,N,2,N1,3...)P = (1, N, 2, N-1, 3 ...) と構築することで、要素数を最小にすることが出来ます。

N=2N=2 のときは明らかに答えは 11 です。以下に N3N≧3 のときについて考えます。
集合の要素を 11 種類にできないこと、22 種類には出来ることを示します。
もし、 11 種類にできると仮定すると、同じ要素が 22 個以上なければいけない箇所が存在し、PP が順列であるということに矛盾します。
また、22 種類にするにはP=(1,N,2,N1,3...)P = (1, N, 2, N-1, 3 ...) とすればよいです。これにより、隣同士の和は N+1N+1N+2N+2 のどちらかとなります。

C++
Python