結果
問題 |
No.800 四平方定理
|
ユーザー |
![]() |
提出日時 | 2020-11-19 09:46:34 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 546 bytes |
コンパイル時間 | 144 ms |
コンパイル使用メモリ | 82,124 KB |
実行使用メモリ | 286,372 KB |
最終ジャッジ日時 | 2024-07-23 09:45:31 |
合計ジャッジ時間 | 5,297 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 3 |
other | AC * 10 TLE * 1 -- * 19 |
ソースコード
import collections N,D=map(int, input().split()) Square = [] P = [] M = [] for i in range(N+1): Square.append(i**2) for i in range(1,N+1): for j in range(1,N+1): P.append(Square[i]+Square[j]) M.append(Square[i]-Square[j]-D) P=collections.Counter(P) M=collections.Counter(M) P = sorted( P.items() ) M = sorted( M.items() ) j = len(M)-1 ans = 0 mk,mv=M[j] for pk, pv in P: while mk+pk > 0 and j>=0: j-=1 mk,mv=M[j] if mk+pk==0: ans += mv*pv j-=1 mk,mv=M[j] print(ans)