結果

問題 No.7 プライムナンバーゲーム
コンテスト
ユーザー n_knuu
提出日時 2017-01-05 04:37:43
言語 Nim
(2.2.8)
コンパイル:
nim --nimcache=~ --hints:off -o:a.out -d:release cpp _filename_
実行:
./a.out
結果
AC  
実行時間 8 ms / 5,000 ms
コード長 455 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,538 ms
コンパイル使用メモリ 67,376 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-04-17 17:40:02
合計ジャッジ時間 3,087 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 17
権限があれば一括ダウンロードができます
コンパイルメッセージ
/home/judge/data/code/Main.nim(2, 28) Warning: imported and not used: 'algorithm' [UnusedImport]
/home/judge/data/code/Main.nim(2, 18) Warning: imported and not used: 'sequtils' [UnusedImport]

ソースコード

diff #
raw source code

{.checks: off, optimization: speed.}
import strutils, sequtils, algorithm
let N = stdin.readline.parseInt
var
  sieve = newSeq[bool](N+1)
  primes = newSeq[int]()
for i in 2..N:
  if not sieve[i]:
    primes.add(i)
    for j in countup(2 * i, N, i):
      sieve[j] = true

var dp = newSeq[bool](N+1)

dp[0] = true
dp[1] = true
for i in 2..N:
  for p in primes:
    if p > i:
      break
    dp[i] = dp[i] or not dp[i-p]
echo(if dp[N]: "Win" else: "Lose")
0