Cod sursa(job #1809571)

Utilizator catalina200029Olteanu Catalina catalina200029 Data 19 noiembrie 2016 00:56:51
Problema Reguli Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

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

int v[5000005],i,n,a,dif,b,j,mx,k,urm[5000005];

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

--n;


/*for (i=0;i<n;i++)
    cout<<v[i]<<' ';
cout<<'\n';*/

for (i=2;i<=n;i++) {
    while (k && v[k]!=v[i-1])
        k=urm[k];
    if (v[k]==v[i-1])
        k++;
    urm[i]=k;
}

/*for (i=0;i<=n;i++)
    cout<<urm[i]<<' ';*/

n=n%urm[n];

g<<n<<'\n';
for (i=0;i<n;i++)
    g<<v[i]<<'\n';
    return 0;
}