Cod sursa(job #246592)

Utilizator DraStiKDragos Oprica DraStiK Data 21 ianuarie 2009 09:53:19
Problema Reguli Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#define DIM 500005
int a[DIM],b[DIM];
int n,nrt;
void read ()
{
    int i;
    scanf ("%d",&n);
    for (i=1; i<=n; ++i)
    {
        scanf ("%d",&a[i]);
        b[i-1]=a[i]-a[i-1];
    }
}
int check (int m)
{
    int i,j=2;
    for (i=m+1; i<n; ++i,++j)
        if (b[i]!=b[j])
            return 0;
    return 1;
}
void solve ()
{
    int i,j;
    for (i=2; i<n; ++i)
        if (b[i]==b[1] && check (i))
        {
            printf ("%d\n",i-1);
            for (j=1; j<i; ++j)
                printf ("%d\n",b[j]);
            return ;
        }
}
int main ()
{
    freopen ("reguli.in","r",stdin);
    freopen ("reguli.out","w",stdout);
    read ();
    solve ();
    return 0;
}