結果

問題 No.3257 +|+
ユーザー dp_ijk
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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)
0