Cod sursa(job #466785)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 27 iunie 2010 14:44:43
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[1806][1806],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;
}