Cod sursa(job #472360)

Utilizator PavelRazvanPavel Razvan PavelRazvan Data 24 iulie 2010 10:52:12
Problema Numarare Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<algorithm>
using namespace std;
#include<vector>

#define pb push_back
#define DIM 100005

long long sol;
int a[DIM],n;
vector <int> lst[DIM];

int main ()
{
    freopen("numarare.in","r",stdin);
    freopen("numarare.out","w",stdout);
    int i,j,q;
    scanf("%d",&n);
    scanf("%d",&a[1]);
    for(i=2;i<=n;++i)
    {
        scanf("%d",&a[i]);
        lst[i].pb (a[i]+a[i-1]);
        ++sol;
    }

    for(i=2;i<=n;++i)
        for(j=3,q=0;i-j>0 && q<(int)lst[i-1].size ();j+=2,++q)
            if(a[i-j]+a[i]==lst[i-1][q])
            {
                ++sol;
                lst[i].pb (a[i-j]+a[i]);
            }
    printf("%lld",sol);
    return 0;
}