結果

問題 No.3392 Count 23578 Sequence
コンテスト
ユーザー sasa8uyauya
提出日時 2025-11-28 23:13:54
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 614 bytes
コンパイル時間 561 ms
コンパイル使用メモリ 82,264 KB
実行使用メモリ 311,676 KB
最終ジャッジ日時 2025-11-28 23:14:28
合計ジャッジ時間 24,357 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 10 WA * 32 RE * 5
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

n=int(input())
a=list(map(int,input().split()))

b=[a[i+1]-a[i] for i in range(n-1)]

ans=0

i=0
j=0
r=[0]*len(b)
while i<len(b):
  while i-j>=0 and i+j<len(b) and b[i-j]==b[i+j]:
    j+=1
  r[i]=j
  k=1
  while i-k>=0 and k+r[i-k]<j:
    r[i+k]=r[i-k]
    k+=1
  i+=k
  j-=k
ans+=sum((r[i]+1)//2 for i in range(len(r)))

nb=[]
for v in b:
  nb+=[v,-10**10]
nb.pop()
b=nb

i=0
j=0
r=[0]*len(b)
while i<len(b):
  while i-j>=0 and i+j<len(b) and b[i-j]==b[i+j]:
    j+=1
  r[i]=j
  k=1
  while i-k>=0 and k+r[i-k]<j:
    r[i+k]=r[i-k]
    k+=1
  i+=k
  j-=k
ans+=sum(r[i]//2 for i in range(1,len(r),2))

print(ans+n)
0