Cod sursa(job #2322724)

Utilizator SchnitzelMannPavaloiu Gabriel SchnitzelMann Data 18 ianuarie 2019 11:14:22
Problema Reguli Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("reguli.in");
ofstream out("reguli.out");
int pi[500002];
long long a[500002];
int main()
{
    int i,q=0,k=0,n,m;
    in>>n;
    for(i=0;i<n;i++)
        in>>a[i];
    for(i=n-1;i>0;i--)
        a[i]-=a[i-1];
    for(i=2;i<n;i++)
    {
        in>>a[i];
        while(q&&a[q+1]!=a[i])
            q=pi[q];
        if(a[q+1]==a[i])
            q++;
        pi[i]=q;
    }
    q=n-q-1;
    out<<q<<"\n";
    for(i=1;i<=q;i++)
        out<<a[i]<<"\n";
    return 0;
}