結果
| 問題 |
No.3257 +|+
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-09-07 10:12:39 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 754 bytes |
| コンパイル時間 | 394 ms |
| コンパイル使用メモリ | 81,912 KB |
| 実行使用メモリ | 339,184 KB |
| 最終ジャッジ日時 | 2025-09-07 10:12:55 |
| 合計ジャッジ時間 | 15,870 ms |
|
ジャッジサーバーID (参考情報) |
judge / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 7 TLE * 1 -- * 25 |
ソースコード
## https://yukicoder.me/problems/no/3257
def main():
N = int(input())
A = list(map(int, input().split()))
max_a = max(A)
dp = {}
answer = 0
for i in range(N):
a = A[i]
i0 = i + 1
# answer計算
b = -a
m = 0
while max_a >= b:
if b in dp:
if m in dp[b]:
answer += dp[b][m]
b += i0
m += 1
# dp更新
b = a
m = 0
while -max_a <= b:
if b not in dp:
dp[b] = {}
if m not in dp[b]:
dp[b][m] = 0
dp[b][m] += 1
b -= i0
m += 1
print(answer)
if __name__ == "__main__":
main()