結果
| 問題 |
No.1318 ABCD quadruplets
|
| コンテスト | |
| ユーザー |
👑 tatyam
|
| 提出日時 | 2020-07-12 10:09:17 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,160 ms / 2,000 ms |
| コード長 | 1,053 bytes |
| コンパイル時間 | 697 ms |
| コンパイル使用メモリ | 82,156 KB |
| 実行使用メモリ | 89,492 KB |
| 最終ジャッジ日時 | 2024-10-14 10:25:26 |
| 合計ジャッジ時間 | 11,971 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 |
ソースコード
def f(a,b,c,d):
return a * (a + b + c + d) + b * (b + c + d) + c * (c + d) + d * d
def main():
n, m = map(int, input().split())
ans = [0] * 1600001
for a in range(m+1):
for b in range(a):
for c in range(b):
for d in range(c):
k = f(a,b,c,d)
if k > n:
break
ans[k] += 24
for a in range(m+1):
for b in range(a):
for c in range(b):
ans[f(a,a,b,c)] += 12
ans[f(a,b,b,c)] += 12
k = f(a,b,c,c)
if k > n:
break
ans[k] += 12
for a in range(m+1):
for b in range(a):
ans[f(a,a,a,b)] += 4
ans[f(a,a,b,b)] += 6
k = f(a,b,b,b)
if k > n:
break
ans[k] += 4
for a in range(m+1):
k = f(a,a,a,a)
if k > n:
break
ans[k] += 1
for i in range(n+1):
print(ans[i])
main()
tatyam