Cod sursa(job #19301)

Utilizator DorinOltean Dorin Dorin Data 19 februarie 2007 09:59:31
Problema Reguli Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
# include <stdio.h>

# define input "reguli.in"
# define output "reguli.out"

# define max 500002

long long a[max],i,j,n,poz,ok,k,x,x1;

int main()
{
	freopen(input,"r",stdin);
	freopen(output,"w",stdout);

	scanf("%lld",&n);
	scanf("%lld",&x1);

	for(i = 1;i<n;++i)
	{
		scanf("%lld",&x);
		a[i] = x-x1;
		x1 = x;
	}
	for(i = 2;i<n;++i)
	{
        if(a[i] == a[1])
        {
        		ok = 1;
          		k = i - 1;

            	for(j = 2;j<=n-k-1;++j)	if(a[j] != a[j+k]) {ok = 0;break;}
             	if(ok)
              	{
               		printf("%lld\n",k);
                 	for(i = 1;i<=k;++i)
                    	printf("%lld\n",a[i]);
                    break;
                }
         }
	}
	if(i == n)
	{
      	printf("%lld\n",n-1);
       	for(i = 1;i<n;++i)
           	printf("%lld\n",a[i]);
   }
	return 0;
}