Cod sursa(job #2450415)

Utilizator filiptudose2007Tudose Filip filiptudose2007 Data 23 august 2019 11:42:58
Problema Reguli Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long sol[500005],n,a,b,i,d[500005],k,m,j,nr_sol;
int main()
{
    f>>n>>a;
    for(i=2; i<=n; ++i)
    {
        f>>b;
        sol[i-2]=b-a;
        a=b;
    }
    d[0]=0;
    for(i=1; i<n-1; ++i)
    {
        k=d[i-1];
        while(k>0 && sol[i]!=sol[k])
        {
            k=d[k-1];
        }
        if(sol[i]==sol[k])
        {
            k++;
        }
        d[i]=k;
    }
    m=n-1;
    nr_sol=m-d[m-1];
    g<<nr_sol<<'\n';
    for(i=0; i<nr_sol; ++i)
    {
        g<<sol[i]<<'\n';
    }
    return 0;
}