Cod sursa(job #251393)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 2 februarie 2009 15:13:22
Problema Reguli Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<algorithm>
using namespace std;
long long int n,a[500001],b[500001];
void solve(){
	long long int i,j,ok;
    scanf("%lld",&n);
	for(i=0; i<n; ++i)
		scanf("%lld",&a[i]);
	for(i=0; i<n-1; b[i]=(a[i+1]-a[i]),++i);
	for(i=1,ok=0; i<n-1; ++i){
		if(b[i]==b[0]){
			for(j=i; j<2*i&&j<n-1; ++j)
				if(b[(j-i)%i]!=b[j]){
					ok=1;
					j=n-1;}
				if(!ok){
					for(printf("%lld\n",i),j=0; j<i; ++j)
						printf("%lld\n",b[j]);
					i=n;}}}
	if(i==n-1)
		for(printf("%d\n",n-1),i=0; i<n-1; ++i)
            printf("%d\n",b[i]);}
int main(){
    freopen("reguli.in","r",stdin);
    freopen("reguli.out","w",stdout);
    solve();
    return 0;}