結果
| 問題 |
No.990 N×Mマス計算(Kの倍数)
|
| ユーザー |
tktk_snsn
|
| 提出日時 | 2020-12-12 23:24:58 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 574 ms / 2,000 ms |
| コード長 | 767 bytes |
| コンパイル時間 | 190 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 36,184 KB |
| 最終ジャッジ日時 | 2024-09-19 22:33:07 |
| 合計ジャッジ時間 | 3,746 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 19 |
ソースコード
from math import gcd
from collections import Counter
import bisect
from operator import add, mul
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 7)
n, m, k = map(int, input().split())
op, *B = input().split()
B = list(map(int, B))
A = [int(input()) for _ in range(n)]
if op == "+":
A = [a % k for a in A]
B = [b % k for b in B]
ca = Counter(A)
cb = Counter(B)
ans = ca[0] * cb[0]
for key, val in ca.items():
ans += val * cb[k - key]
print(ans)
else:
A = [gcd(a, k) for a in A]
B = [gcd(b, k) for b in B]
ca = Counter(A)
cb = Counter(B)
ans = 0
for ka, va in ca.items():
for kb, vb in cb.items():
if kb % (k // ka) == 0:
ans += va * vb
print(ans)
tktk_snsn