結果
| 問題 | No.3553 Good Quartet |
| コンテスト | |
| ユーザー |
kidodesu
|
| 提出日時 | 2026-05-23 00:01:01 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 1,948 ms / 2,000 ms |
| コード長 | 990 bytes |
| 記録 | |
| コンパイル時間 | 288 ms |
| コンパイル使用メモリ | 85,376 KB |
| 実行使用メモリ | 219,232 KB |
| 最終ジャッジ日時 | 2026-05-23 00:01:28 |
| 合計ジャッジ時間 | 24,830 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_0 |
| 純コード判定待ち |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 15 |
ソースコード
from collections import defaultdict
def main():
E = defaultdict(int)
n, q = list(map(int, input().split()))
A = list(map(int, input().split()))
ans = 0
def f(a, b, c):
d = 0
if E[(a, b)] == 4:
d -= 1
E[(a, b)] += c
if E[(a, b)] == 4:
d += 1
return d
def f0(a, b):
rep = 0
rep += f(a, 0, b)
rep += f(a, 1, b)
if not a % 5:
rep += f(a//5, 0, b)
if not a % 7:
rep += f(a//7, 0, b)
if not a % 11:
rep += f(a//11, 0, b)
rep += f(a//11, 1, b)
if not a % 19:
rep += f(a//19, 1, b)
if not a % 29:
rep += f(a//29, 1, b)
return rep
for a in A:
ans += f0(a, 1)
for _ in range(q):
t, x = list(map(int, input().split()))
if t == 1:
ans += f0(x, 1)
else:
ans += f0(x, -1)
print(ans)
main()
kidodesu