Cod sursa(job #1333893)

Utilizator rsteliRadu Stelian rsteli Data 3 februarie 2015 18:12:45
Problema Reguli Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
using namespace std;
ifstream cin("reguli.in");
ofstream cout("reguli.out");

#define nmax 500010

int n,v[nmax],x,y,pref[nmax],k,t;

int main()
{
    int i,j;
    cin>>n;
    cin>>x;
    for (i=1;i<n;i++)
    {
        cin>>y;
        v[i]=y-x;
        x=y;
    }
    for (i=2;i<n;i++)
    {
        while (t && v[t+1]!=v[i])
            t=pref[t];
        if (v[t+1]==v[i])
            t++;
        pref[i]=t;
        if (!pref[i])
            k=i;
    }
    cout<<k<<'\n';
    for (i=1;i<=k;i++)
        cout<<v[i]<<'\n';
}