Cod sursa(job #2514914)

Utilizator SoranaAureliaCatrina Sorana SoranaAurelia Data 27 decembrie 2019 12:58:23
Problema Reguli Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#define NMAX 50005
using namespace std;

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

int n, a[NMAX];
int p[NMAX];
int l;
int x, y;

int main()
{
    f>>n;
    f>>x;
    for(int i=1; i<n; i++){
        f>>y;
        a[i]=y-x;
        x=y;
    }
    n--;
    int k=0;
    for(int i=2; i<=n; i++){
        while(k && a[k+1]!=a[i])
            k=p[k];
        if(a[k+1] == a[i])
            k++;
        p[i] = k;
        if(p[i] == 1)
            l = i;
    }

    l--;
    g<<l<<'\n';
    for(int i=1; i<=l; i++)
        g<<a[i]<<'\n';
    return 0;
}