Cod sursa(job #2125225)

Utilizator alexilasiAlex Ilasi alexilasi Data 8 februarie 2018 11:32:42
Problema Reguli Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("reguli.in");
ofstream fout("reguli.out");

int n,x,i,y,k,nr;

int v[500100],pi[500100];

int main()
{
    fin>>n>>x;n--;
    for(i=1;i<=n;i++)
    {
        fin>>y;
        v[i]=y-x;
        x=y;
    }
    for(i=2;i<=n;i++)
    {
        while(k>0&&v[k+1]!=v[i])k=pi[k];
        if(v[k+1]==v[i])k++;
        pi[i]=k;
    }
    fout<<n-pi[n]<<'\n';
    for(k=1;k<=n-pi[n];k++)fout<<v[k]<<'\n';
    return 0;
}