結果

問題 No.1528 Not 1
ユーザー YoujiO3YoujiO3
提出日時 2021-06-04 22:49:08
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
WA  
実行時間 -
コード長 727 bytes
コンパイル時間 425 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 24,768 KB
最終ジャッジ日時 2024-11-20 05:15:47
合計ジャッジ時間 39,791 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 TLE -
testcase_02 TLE -
testcase_03 TLE -
testcase_04 TLE -
testcase_05 TLE -
testcase_06 TLE -
testcase_07 TLE -
testcase_08 TLE -
testcase_09 TLE -
testcase_10 TLE -
testcase_11 WA -
testcase_12 AC 27 ms
21,760 KB
testcase_13 AC 27 ms
16,256 KB
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 TLE -
testcase_19 TLE -
権限があれば一括ダウンロードができます

ソースコード

diff #

from math import ceil, gcd
import sys
n = int(input())
if n == 1 or n == 2:
  print(-1)
  sys.exit()
l = ceil(n/2)
# s_list = list(range(3, n+1, 1))
# print(f'l:{l}')
r = []
m = 2
s = 2
r.append(2)
while len(r) < l:
  # s_list.sort()
  # for i in s_list:
  for i in range(s, n+1):
    if len(r) == 0:
      m += 1
      r.append(m)
      if m > n:
        print(-1)
        sys.exit()
      else:
        continue
    if gcd(r[-1], i) != 1 and not i in r:
      # print(f'push {i}')
      r.append(i)
      s = 2
      # s_list.remove(i)
      break
    elif i == n:
      s = r.pop()
      # print(f'pop {s}')
      if s == n:
        print(-1)
        sys.exit()
      else:
        s += 1
        # s_list.append(s)
print(r)
0