Cod sursa(job #18170)

Utilizator AlxCojocaru Alexandru Alx Data 18 februarie 2007 10:19:52
Problema Reguli Scor 80
Compilator cpp Status done
Runda preONI 2007, Runda 2, Clasele 11-12 Marime 0.56 kb
#include <stdio.h>
using namespace std;
long a[500100],b[500100],n;
int main()
{
 freopen("reguli.in","r",stdin);
 freopen("reguli.out","w",stdout);
 scanf("%d\n",&n);
 long i;
 scanf("%ld\n",&a[0]);
 for (i=1;i<n;i++)
 {
  scanf("%ld\n",&a[i]);
  b[i-1]=a[i]-a[i-1];
 }
 for (i=1;b[i]!=b[0];i++);
 long min=i,min2=0,j;
 while (min!=min2)
 {
  min2=min;
  for (i=0;i<min&&min==min2;i++)
   for (j=i+min;j<n-1&&min==min2;j+=min)
    if (b[j]!=b[i])
     min++;
 }
 printf("%ld\n",min);
 for (i=0;i<min;i++)
  printf("%ld\n",b[i]);
 return 0;
}