Cod sursa(job #18976)

Utilizator butyGeorge Butnaru buty Data 18 februarie 2007 16:05:40
Problema Reguli Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
const int Nmax=500001;
long long A[Nmax],X[Nmax];
int N,K;
void cit()
{
	int i;
	freopen("reguli.in","r",stdin);
	scanf("%d",&N);
	for(i=1;i<=N;i++)
		scanf("%Ld",&X[i]);
}
void rez()
{
	int i,j=0,l=0;
	for(i=2;i<=N;i++)
	{
		if( X[i]-X[i-1]==A[j] )
		{
			A[++l]=X[i]-X[i-1];
			j++;
			if(j>K)
				j=1;
		}
		else
		{
			l++;
			A[l]=X[i]-X[i-1];
			K=l;
			j=1;
		}
	}
}
void scr()
{
	int i;
	freopen("reguli.out","w",stdout);
	printf("%d\n",K);
	for(i=1;i<=K;i++)
		printf("%Ld\n",A[i]);
	fclose(stdout);
}
int main()
{
	cit();
	rez();
	scr();
	return 0;
}