Cod sursa(job #2289004)

Utilizator darisavuSavu Daria darisavu Data 24 noiembrie 2018 10:16:42
Problema Reguli Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>

using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long a[500005],i,j,k,x,y,p[500005],o,sol;
int main()
{
    f>>k;
    f>>x;
    for(i=1;i<=k;i++)
    {
        f>>y;
        a[i]=y-x;
        x=y;
    }
    o=0;
    for(i=2;i<k;i++)
    {
        for(;o!=0&&a[o+1]!=a[i];) o=p[o];
        if(a[o+1]==a[i]) o++;
        p[i]=o;
    }
    //for(i=1;i<k;i++) g<<p[i]<<" ";
     sol=k-1-p[k-1];
        g<<sol<<'\n';
    for(i=1;i<=sol;i++) g<<a[i]<<'\n';
    return 0;
}