Cod sursa(job #170225)

Utilizator mike4problemsRadu Gabriel mike4problems Data 2 aprilie 2008 15:51:17
Problema Reguli Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<stdio.h>

#define N 500000

#define In "reguli.in"
#define Out "reguli.out"

FILE *f;
long long x[N],n,i,k,a,b,sol[N];

int main()
 {
 f=fopen(In,"r");
 fscanf(f,"%lld%lld",&n,&a);
 n--;
 for(i=0;i<n;i++)
  {
  fscanf(f,"%lld",&b);
  x[i]=b-a;
  a=b;
  }
 k=1,sol[0]=x[0],i=1;
 while(i<n)
  if(x[i]!=sol[i%k])
	{
	sol[k]=x[k];
	k++; i=k;
	}
  else
	i++;
 freopen(Out,"w",f);
 fprintf(f,"%lld\n",k);
 for(i=0;i<k;i++)
  fprintf(f,"%lld\n",sol[i]);
 fclose(f);
 return 0;
 }