Cod sursa(job #251384)

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