Cod sursa(job #1340658)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 11 februarie 2015 22:44:13
Problema Reguli Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>

using namespace std;

ifstream fin("reguli.in");
ofstream fout("reguli.out");
long long N , v[500002] ,i ,P[500002], x, L, k, y;
int main(){
    fin>>N;
    fin>>x;
    N--;
    i = 1;
    fin >> v[i];
    y = v[i] - x;
    x = v[i];
    v[i] = y;
    for(i = 2;i <= N ; i ++){
        fin >> v[i];
        y = v[i] - x;
        x = v[i];
        v[i] = y;
        if( L != 0 && v[i] != v[L + 1])
            L = P[L];
        if(v[i] == v[L+1])
            L ++;
        P[i] = L;
    }
    k = N - P[N];
    fout<< k << '\n';
    for( i = 1;i <= k ;i ++)
        fout << v[i] << '\n';
    fin.close();fout.close();
    return 0;
}