Cod sursa(job #466792)
Utilizator | Data | 27 iunie 2010 14:51:41 | |
---|---|---|---|
Problema | Numarare | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Stelele Informaticii 2010, clasele X-XII, Ziua 1 | Marime | 0.57 kb |
#include<stdio.h>
#define ll long long
int dif[100007],d[1906][1906],n,v[100006];
ll sol;
int main ()
{
int i,j;
freopen("numarare.in","r",stdin);
freopen("numarare.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
for(i=1;i<n;i++)
dif[i]=v[i]-v[i+1];
n--;
for(i=1;i<=n;i++)
{
d[i][i]=1;
sol++;
for(j=i-2;j>=1;j-=2)
if(dif[i]==dif[j] && d[j+1][i-1])
{
sol++;
d[j][i]=1;
}
}
printf("%lld\n",sol);
return 0;
}