Cod sursa(job #2303833)

Utilizator liviu2000Dragomirescu Liviu liviu2000 Data 16 decembrie 2018 23:30:13
Problema Reguli Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
#define N 500005

using namespace std;

ifstream fin("reguli.in") ;
ofstream fout("reguli.out") ;

long long x[N] , a[N] , val[N] ;
vector<long long> v ;

int main()
{
    long long i , n , lg ;
    bool rez;
    fin >> n ;
    for ( i = 0 ; i < n ; i++ )
        fin >> x[i] ;
    for ( i = 1 ; i < n ; i++ )
        a[i] = x[i]-x[i-1] ;
    for ( i = 0 ; i < n-1 ; i++ )
        if ( a[i+1] == a[1] )
            v.push_back(i+1) ;
    for ( auto z : v )
    {
        lg = z-1 ;
        rez = true ;
        for ( i = 2 ; i < z ; i++ )
            if ( a[lg+i] != a[i] )
                rez = false ;
        if ( rez == true )
            break ;
    }
    fout << lg << '\n' ;
    for ( i = 1 ; i <= lg ; i++ )
        fout << a[i] << '\n' ;
}