結果
問題 | No.990 N×Mマス計算(Kの倍数) |
ユーザー |
|
提出日時 | 2022-08-17 11:49:09 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,033 bytes |
コンパイル時間 | 190 ms |
コンパイル使用メモリ | 81,756 KB |
実行使用メモリ | 98,228 KB |
最終ジャッジ日時 | 2024-10-04 11:49:02 |
合計ジャッジ時間 | 2,780 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 RE * 1 |
other | AC * 10 RE * 9 |
ソースコード
def make_divisors(n):divisors = []for i in range(1, int(n**0.5)+1):if n % i == 0:divisors.append(i)if i != n // i:divisors.append(n//i)divisors.sort()return divisorsimport mathn,m,k = map(int,input().split())opb = input().split()op = opb[0]b = []for i in range(1,m+1):b.append(int(opb[i]))a = [int(input()) for i in range(n)]ans = 0if op == "+":bmod = {}#[0]*(k)for i in range(m):tmp = b[i]%k#print(bmod,tmp)if tmp in bmod:bmod[tmp] += 1else:bmod[tmp] = 1for i in range(n):tmp = (k-(a[i]%k))%kif tmp in bmod:ans += bmod[tmp]print(ans)else:print(kk)div = make_divisors(k)bdiv = {}for i in div:tmp = 0for j in range(m):if b[j]%i == 0:tmp += 1bdiv[i] = tmpfor i in range(n):tmp = math.gcd(a[i],k)ans += bdiv[k//tmp]print(ans)