Cod sursa(job #18603)

Utilizator szakiold name szaki Data 18 februarie 2007 12:46:16
Problema Reguli Scor 40
Compilator cpp Status done
Runda preONI 2007, Runda 2, Clasele 11-12 Marime 0.91 kb
/*#include "stdafx.h"
#include "infoarena.h"

//#include <conio.h>/**/
#include <stdio.h>


#ifndef _INC_CONIO
void clrscr()
{
    freopen("reguli.out", "w", stdout);
}
void getch() {}
#else
void clrscr() {}
#endif

#define rep(i,n) for(i=0;i<n;i++)

long long last, cur;
long long a[500000];

int main()
{
    int n,i,l,j;
    clrscr();
    FILE *fin = fopen("reguli.in","r");
    fscanf(fin,"%d",&n);

    fscanf(fin,"%ld", &last);
    for(i=1;i<n;i++) 
    {
        fscanf(fin,"%ld", &cur);
        a[i-1] = cur - last;
        last = cur;
    }
    n--;
    
    for(l = 1; l < n; l++)
    {
        for (i = 0; i < l; i++)
        {
            for (j = l+i; j < n; j+=l)
                if(a[j-l] != a[j]) break;
            if (j < n) break;
        }
        if (i==l) break;
    }

    printf("%d\n", l);
    rep(i,l) printf("%d\n", a[i]);

    getch();
    return 0;
}