Cod sursa(job #1704196)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 18 mai 2016 11:36:59
Problema Reguli Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long fin[500005];
int vct[500005],n;
long long a,b;
int main()
{
    f>>n>>a;
    for(int i=1;i<n;++i)
    {
        f>>b;
        fin[i]=b-a;
        a=b;
    }
    int q=0;
    for(int i=2;i<n;++i)
    {
        while(q>0&&fin[i]!=fin[q+1])
          q=vct[q];
        if(fin[i]==fin[q+1])
          ++q;
        vct[i]=q;
    }
    g<<n-vct[n-1]-1<<"\n";
    for(int i=1;i<n-vct[n-1];++i)
      g<<fin[i]<<"\n";
    return 0;
}