Cod sursa(job #19705)

Utilizator m_dersidanDersidan Mihai m_dersidan Data 19 februarie 2007 20:57:58
Problema Reguli Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <stdlib.h>

#define infile "reguli.in"
#define outfile "reguli.out"
FILE *fin,*fout;

int n;
long long x[500005];


void citire()
  {
   int i;
   fin=fopen(infile,"r");
   fscanf(fin,"%d",&n);
   for(i=0;i<n;i++)
      fscanf(fin,"%Ld",&x[i]);
   n--;
   for(i=n;i>0;i--)
      x[i]-=x[i-1];
   fclose(fin);
  }

void solution(int k)
  {
   fout=fopen(outfile,"w");
   fprintf(fout,"%d\n",k);
   for(int i=1;i<=k;i++)
      fprintf(fout,"%Ld\n",x[i]);
   fclose(fout);
   exit(0);
  }

int verificare(int k)
  {
   for(int i=k+1;i<=n;i++)
      if(x[i]!=x[i-k])
        return 0;
   return 1;
  }


int main()
{
citire();
for(int k=1;k<=n;k++)
   if(verificare(k))
     solution(k);
return 0;
}