Mai intai trebuie sa te autentifici.

Cod sursa(job #2034350)

Utilizator xRoALexBirtoiu Alexandru xRoALex Data 7 octombrie 2017 18:53:15
Problema Reguli Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>
#include <iostream>
#define N 500005
using namespace std;

int n;
int v[N], s[N];
int pi[N];

int main()
{
    freopen("reguli.in", "r", stdin);
    freopen("reguli.out","w", stdout);
    int i, w=0;
    cin >> n >> v[0];
    for(i=1; i<n; i++)
    {
        cin >> v[i];
        s[i-1] = v[i]-v[i-1];
    }
    n--;
    for(i = 1; i < n; i++)
        {
            while(w && s[i] != s[w]) w = pi[w-1];

            if(s[i] == s[w]) w++;

            pi[i] = w;
        }
    cout<< n-pi[n-1] <<'\n';

    for(i=0; i<n-pi[n-1]; i++)
         cout<<s[i]<<'\n';
    return 0;
}