結果
問題 | No.1946 ロッカーの問題 |
ユーザー | lilictaka |
提出日時 | 2022-05-20 22:31:48 |
言語 | PyPy3 (7.3.13) |
結果 |
AC
|
実行時間 | 630 ms / 3,000 ms |
コード長 | 502 bytes |
コンパイル時間 | 189 ms |
コンパイル使用メモリ | 81,668 KB |
実行使用メモリ | 134,892 KB |
最終ジャッジ日時 | 2023-10-20 13:15:36 |
合計ジャッジ時間 | 6,608 ms |
ジャッジサーバーID (参考情報) |
judge15 / judge13 |
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 38 ms
53,448 KB |
testcase_01 | AC | 39 ms
53,448 KB |
testcase_02 | AC | 605 ms
134,468 KB |
testcase_03 | AC | 618 ms
134,892 KB |
testcase_04 | AC | 586 ms
134,464 KB |
testcase_05 | AC | 376 ms
115,620 KB |
testcase_06 | AC | 430 ms
121,612 KB |
testcase_07 | AC | 315 ms
105,276 KB |
testcase_08 | AC | 150 ms
93,388 KB |
testcase_09 | AC | 587 ms
128,080 KB |
testcase_10 | AC | 476 ms
117,432 KB |
testcase_11 | AC | 58 ms
66,588 KB |
testcase_12 | AC | 196 ms
96,740 KB |
testcase_13 | AC | 39 ms
53,448 KB |
testcase_14 | AC | 39 ms
53,448 KB |
testcase_15 | AC | 63 ms
71,000 KB |
testcase_16 | AC | 39 ms
53,448 KB |
testcase_17 | AC | 253 ms
99,004 KB |
testcase_18 | AC | 630 ms
134,548 KB |
ソースコード
N,M = map(int,input().split()) A = list(map(int,input().split())) memo = [0] * (N+1) cnt = [0] * (N+1) yaku = [[] for _ in range(N+1)] for a in A: memo[a] = 1 for i in range(1,N+1): for m in range(1,(N//i) + 1): yaku[i*m].append(i) ans = 0 for i in reversed(range(1,N+1)): for k in yaku[i]: cnt[k] += 1 cnt[k] %= 2 if cnt[i] == memo[i]: pass else: ans += 1 for k in yaku[i]: cnt[k] -= 1 cnt[k] %= 2 print(ans)