Cod sursa(job #18366)

Utilizator points_hunterAdrian Dobrescu points_hunter Data 18 februarie 2007 11:46:20
Problema Reguli Scor 70
Compilator c Status done
Runda preONI 2007, Runda 2, Clasele 11-12 Marime 0.76 kb
#include<stdio.h>
long long n,i,j,poz;
long long x,y,a[500001];
int main()
{
 freopen("reguli.in","r",stdin);
 freopen("reguli.out","w",stdout);
 scanf("%lld",&n);
 scanf("%lld%lld",&x,&y);
 a[1]=y-x;
 for(i=2;i<n;i++)
    {
     x=y;
     scanf("%lld",&y);
     a[i]=y-x;
    }
 poz=1;
 for(i=2;i<n;i++)
    if(a[i]!=a[1])
      poz=i;
    else
       {
        for(j=poz+1;j<n;j++)
         {
          if(j%poz==0&&a[j]!=a[poz])
            break;
          else
            if(j%poz&&a[j]!=a[j%poz])
              break;
         }
        if(j==n)
          break;
        else
          {
           i=j;
           poz=j;
          }
       }
 printf("%lld\n",poz);
 for(i=1;i<=poz;i++)
    printf("%lld\n",a[i]);
 return 0;
}