Cod sursa(job #3329068)

Utilizator GILIEDAVIDGilie David Florin GILIEDAVID Data 11 decembrie 2025 17:21:44
Problema Reguli Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long n,y,x,v[500005],lps[500005],j;
int main()
{
    f>>n;
    f>>y;
    for(int i=2;i<=n;i++)
    {
        f>>x;
        v[i-1]=x-y;
        y=x;
    }
    for(int i=2;i<n;i++)
    {
        while(j>0&&v[i]!=v[j+1])
            j=lps[j-1];
        if(v[i]==v[j+1])
            j++;
        lps[i]=j;
    }
    g<<n-1-lps[n-1]<<'\n';
    for(int i=1;i<=n-1-lps[n-1];i++)
        g<<v[i]<<'\n';
    return 0;
}