結果
問題 |
No.3257 +|+
|
ユーザー |
![]() |
提出日時 | 2025-09-05 22:09:58 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 681 bytes |
コンパイル時間 | 189 ms |
コンパイル使用メモリ | 82,780 KB |
実行使用メモリ | 314,784 KB |
最終ジャッジ日時 | 2025-09-05 22:10:40 |
合計ジャッジ時間 | 5,418 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 4 TLE * 1 -- * 28 |
ソースコード
def solve(A): N = len(A) U = max(A) T = int((U*U//N//10)**(1/3)) + 1 from collections import defaultdict res = 0 for k in range(1, T+1): d = defaultdict(int) for i, a in enumerate(A, 1): key = a - k*i res += d[-(key)] d[key] += 1 mx = (2*U)//T for i, a in enumerate(A, 1): if not (i <= mx): break for j, b in enumerate(A, 1): if not (i+j <= mx): break if not (i < j): continue if (a+b) % (i+j) != 0: continue k = (a+b) // (i+j) if (T+1 <= k): res += 1 return res N = int(input()) A = list(map(int, input().split())) ans = solve(A) print(ans)