結果

問題 No.3392 Count 23578 Sequence
コンテスト
ユーザー sasa8uyauya
提出日時 2025-11-28 23:17:50
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 613 bytes
コンパイル時間 403 ms
コンパイル使用メモリ 82,908 KB
実行使用メモリ 312,076 KB
最終ジャッジ日時 2025-11-28 23:18:24
合計ジャッジ時間 23,587 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 42 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] 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]-1+1)//2 for i in range(1,len(r),2))

print(ans+n)
0