Cod sursa(job #466650)

Utilizator irene_mFMI Irina Iancu irene_m Data 27 iunie 2010 12:42:20
Problema Numarare Scor 30
Compilator cpp Status done
Runda Stelele Informaticii 2010, clasele X-XII, Ziua 1 Marime 0.87 kb
#include <cstdio>
#define infile "numarare.in"
#define outfile "numarare.out"
#define MaxN 100024

int a[MaxN];
long long sol[MaxN];
int N;

void read()
{
      int i;
      scanf("%d",&N);
      for(i=1;i<=N;i++)
      {
            scanf("%d",&a[i]);
            sol[i]=1;
      }
}

void solve()
{
      int i,j,s;
      sol[1]=0;

      for(i=3;i<=N;i++)
      {
            s=a[i]+a[i-1];
            j=1;
            while(a[i+j]+a[i-j-1]==s && i+j<=N && i-j-1>=1)
            {
                  sol[i+j]++;
                  j++;
            }
            sol[i]+=sol[i-1];
      }
}

void write()
{
      printf("%lld\n",sol[N]);
}

int main()
{
      freopen(infile,"r",stdin);
      freopen(outfile,"w",stdout);

      read();
      solve();
      write();

      fclose(stdin);
      fclose(stdout);
      return 0;
}