結果
問題 |
No.864 四方演算
|
ユーザー |
|
提出日時 | 2020-05-05 00:34:08 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,061 bytes |
コンパイル時間 | 163 ms |
コンパイル使用メモリ | 81,688 KB |
実行使用メモリ | 58,624 KB |
最終ジャッジ日時 | 2024-06-25 06:38:57 |
合計ジャッジ時間 | 2,624 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 WA * 1 |
ソースコード
# coding: utf-8 # Your code here! def divisors(n): ret=[] for i in range(1,int(n**0.5)+1): if n%i==0: ret.append(i) if i!=n//i: ret.append(n//i) return ret n=int(input()) k=int(input()) divs=divisors(k) divs=sorted(divs) l=len(divs) ans=0 if l%2==0: for i in range(l//2): l=divs[i] r=divs[-(i+1)] if l>n*2: ways1=0 elif l<=n: ways1=l-1 else: ways1=2*n-l+1 if r>n*2: ways2=0 elif r<=n: ways2=r-1 else: ways2=2*n-r+1 ans+=2*ways1*ways2 else: for i in range(l//2+1): l=divs[i] r=divs[-(i+1)] if l>n*2: ways1=0 elif l<=n: ways1=l-1 else: ways1=2*n-l+1 if r>n*2: ways2=0 elif r<=n: ways2=r-1 else: ways2=2*n-r+1 if i!=l//2: ans+=2*ways1*ways2 else: ans+=ways1*ways2 print(ans)