N=2 なら隣接和は一つだけなので差は 0 である。N≥3 ですべての隣接和が等しいと、P1+P2=P2+P から P1=P3 となり矛盾する。よって最小値は 1 以上である。m=⌊(N+1)/2⌋ とし、m,m+1,m−1,m+2,m−2,… の順で範囲内の値を出力する。各値は一度ずつ現れ、隣接和は 2m または 2m+1 なので下界を達成する。時間は O(N)、追加領域は O(1)。サブタスク 1 はすべての順列を O(N!N) 時間で調べればよい。
Solution written by GPT6.1