結果
| 問題 | No.3332 Consecutive Power Sum (Small) |
| コンテスト | |
| ユーザー |
kokonotsu
|
| 提出日時 | 2025-11-02 23:53:07 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
MLE
|
| 実行時間 | - |
| コード長 | 857 bytes |
| コンパイル時間 | 321 ms |
| コンパイル使用メモリ | 82,316 KB |
| 実行使用メモリ | 621,588 KB |
| 最終ジャッジ日時 | 2025-11-02 23:53:43 |
| 合計ジャッジ時間 | 33,209 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 10 WA * 19 MLE * 23 |
ソースコード
N = int(input())
C = 0
ans = []
for X in range(1, 2 * 10**6):
Y = 2 * N // X
if X * Y == 2 * N:
if (X - Y + 1) % 2 == 0 and (X + Y - 1) % 2 == 0:
L = (X - Y + 1) // 2
R = (X + Y - 1) // 2
if 0 < L <= R and R > 0:
C += 1
ans.append((1, L, R))
pow_list = [[j for j in range(10 ** 6 + 5)] for i in range(41)]
for e in range(2, 40):
d = {0: 0}
rev = {0: 0}
tmp = 0
for i in range(1, 10 ** 6 + 1):
po = pow_list[e-1][i] * i
pow_list[e][i] = po
if po > N:
break
p = d[i-1] + po
d[i] = p
rev[p] = i
tmp = i
for l in range(1, tmp + 1):
x = N + d[l-1]
if x in rev:
C += 1
ans.append((e, l, rev[x]))
print(C)
ans.sort()
for a in ans:
print(*a)
kokonotsu