Cod sursa(job #30774)

Utilizator mike4problemsRadu Gabriel mike4problems Data 15 martie 2007 02:52:00
Problema Reguli Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 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];
 for(i=1;i<n;i++)
  if(x[i]!=sol[i%k])
   {
   sol[k]=x[k];
   i=++k;
   }
 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;
 }