Pagini recente » Cod sursa (job #3271936) | Cod sursa (job #1724163) | Cod sursa (job #925552) | Cod sursa (job #2740641) | Cod sursa (job #2312547)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("numarare.in");
ofstream g ("numarare.out");
const int nmax=1e5+3;
long long sol,v[nmax],d[nmax],k,n,c,r,mr,st,dr,sum;
int main()
{
ios::sync_with_stdio(false);
f>>n;
for(int i=1;i<=n;++i)
{
f>>v[i];
v[i-1]-=v[i];
}
--n;
for(int i=1;i<=n;++i)
{
if(r>=i)
{
mr=2*c-i;
d[i]=min(d[mr],n-i+1);
}
d[i]=max(d[i],1ll);
st=i-d[i];
dr=i+d[i];
while(st>=1&&dr<=n&&v[st]==v[dr])
{
++d[i];
--st;
++dr;
}
sol+=d[i];
if(i+d[i]-1>r)
{
r=i+d[i]-1;
c=i;
}
}
g<<sol;
return 0;
}