Cod sursa(job #246138)

Utilizator raica_cristiraica dumitru cristian raica_cristi Data 19 ianuarie 2009 23:20:23
Problema Reguli Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include<stdio.h>
#define dim 500001
long long int n,i,k,a[dim],b[dim];
void fill()
{long int x,y;
     scanf("%lld",&y);
     for(i=1;i<n;i++)
     {
                      scanf("%lld",&x);
                      a[i]=x-y;
                      y=x;
     }}
int check(int i)
{    int k,j;
     for(k=1,j=i;j<n;j++,k++)
     if(a[j]!=a[k])
     return 1;
     return 0;
}
void afis(int i)
{
     int k;
     printf("%d\n",i);
     for(k=1;k<=i;k++)
     printf("%d\n",a[k]);
}
void solve()
{    int i,k;
     for(i=2;i<n;i++)
                     if(a[1]==a[i])
                                   if(check(i)==0)
                     {
                                   afis(i-1);
                                   return ;
                                   }
afis(n-1);
}
     int main ()
{
    freopen("reguli.in","r",stdin);
    freopen("reguli.out","w",stdout);
    scanf("%d",&n);
    fill();
    //b[1]=a[1];
    solve();
   // afis(n);
   
}