結果
問題 |
No.990 N×Mマス計算(Kの倍数)
|
ユーザー |
![]() |
提出日時 | 2020-02-14 22:04:54 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 802 bytes |
コンパイル時間 | 269 ms |
コンパイル使用メモリ | 81,884 KB |
実行使用メモリ | 201,944 KB |
最終ジャッジ日時 | 2024-11-16 00:45:08 |
合計ジャッジ時間 | 10,881 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 13 WA * 3 TLE * 3 |
ソースコード
import sys input = sys.stdin.readline N,M,K=map(int,input().split()) B=list(input().split()) A=[int(input()) for i in range(N)] ANS=0 if B[0]=="+": from collections import Counter B=list(map(int,B[1:])) A=Counter([a%K for a in A]) B=Counter([b%K for b in B]) for c in A: ANS+=A[c]*B[K-c] print(ANS) sys.exit() B=list(map(int,B[1:])) import math x=K xr=math.ceil(math.sqrt(x)) LIST=[] for i in range(1,xr+1): if x%i==0: LIST.append(i) LIST.append(x//i) L=sorted(set(LIST),reverse=True) LEN=len(L) SC=[0]*LEN for i in range(LEN): l=L[i] for b in B: if b%l==0: SC[i]+=1 for a in A: for i in range(LEN): l=L[i] if a%l==0: ANS+=SC[LEN-i-1] break print(ANS)