Cod sursa(job #466689)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 27 iunie 2010 13:16:47
Problema Numarare Scor 30
Compilator cpp Status done
Runda Stelele Informaticii 2010, clasele X-XII, Ziua 1 Marime 0.96 kb
#include<cstdio>

int i,j,n,a[100005],b[100005],v[100005];
int nr;

int main()
{
    freopen("numarare.in","r",stdin);
    freopen("numarare.out","w",stdout);

    scanf("%d%d",&n,&v[1]);
    v[0]=-200000000;

    for(i=2;i<=n;++i)
    {
        scanf("%d",&v[i]);
        if(i%2)
        {
            a[0]=0;
            a[++a[0]]=i-1;
            nr++;
            for(j=1;j<=b[0];++j)
                if(b[j]-1>0&&v[i]+v[b[j]-1]==v[i-1]+v[b[j]])
                {
                    a[++a[0]]=b[j]-1;
                    nr++;
                }
        }
        else
        {
            b[0]=0;
            b[++b[0]]=i-1;
            nr++;
            for(j=1;j<=a[0];++j)
                if(a[j]-1>0&&v[i]+v[a[j]-1]==v[i-1]+v[a[j]])
                {
                    b[++b[0]]=a[j]-1;
                    nr++;
                }
        }
    }

    printf("%d\n",nr);

    fclose(stdin);
    fclose(stdout);

    return 0;
}