Cod sursa(job #30776)

Utilizator mike4problemsRadu Gabriel mike4problems Data 15 martie 2007 03:00:23
Problema Reguli Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>

#define N 500000

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

FILE *f;

int x[N],n;
int sol[N],k;
int a,b,i,j;

int main()
 {
 f=fopen(In,"r");
 fscanf(f,"%d%d",&n,&a);
 n--;
 for(i=0;i<n;i++)
  {
  fscanf(f,"%d",&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,"%d\n",k);
 for(i=0;i<k;i++)
  fprintf(f,"%d\n",sol[i]);
 fclose(f);
 return 0;
 }