Cod sursa(job #2289050)

Utilizator danin01Nastase Daniel danin01 Data 24 noiembrie 2018 10:47:57
Problema Reguli Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<bits/stdc++.h>
using namespace std;

ifstream f("reguli.in");
ofstream g("reguli.out");

long long P[500015],v[500015];

int n,a,b,k;

int main()
{

    f>>n>>a;

    for(int i=2;i<=n;++i)
    {
        f>>b;
        v[i-1]=b-a;
        a=b;
    }

    n--;

    for(int i=2;i<=n;++i)
    {
        for(;k!=0 && v[k+1]!=v[i];)k=P[k];
        if(v[k+1]==v[i])k++;
        P[i]=k;
    }

    g<<n-P[n]<<'\n';

    for(int i=1;i<=n-P[n];++i)
        g<<v[i]<<'\n';

    return 0;
}