Cod sursa(job #574188)

Utilizator SpiderManSimoiu Robert SpiderMan Data 6 aprilie 2011 21:51:40
Problema Reguli Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
# include <cstdio>

const char *FIN = "reguli.in", *FOU = "reguli.out" ;
const int MAX = 500005 ;

long long A[MAX] ;
int N ;

inline bool see ( int X ) {
    for ( int i = X + 1, j = 2; i < N; ++i, ++j ) {
        if ( A[i] == A[j] ) continue ;
        return 0 ;
    }
    return 1 ;
}

void print ( int X ) {
    printf ( "%d\n", X - 1 ) ;
    for ( int i = 1; i < X; ++i ) {
        printf ( "%lld\n", A[i] ) ;
    }
}

int main ( void ) {
    freopen ( FIN, "r", stdin ) ;

    scanf ( "%d", &N ) ;
    for ( int i = 0, x = 0, y = 0; i <= N; ++i, x = y ) {
        scanf ( "%d", &y ) ;
        A[i] = y - x ;
    }

    freopen ( FOU, "w", stdout ) ;
    for ( int i = 2; i <= N; ++i ) {
        if ( A[1] == A[i] && see ( i ) || i == N ) {
            print ( i ) ;
            return 0 ;
        }
    }
}