Cod sursa(job #1004376)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 2 octombrie 2013 17:34:33
Problema Reguli Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
#include<string.h>
long long a[500005];
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
unsigned n,m,i,j,l;
scanf("%u",&n);
for(i=0;i<n;i++)
{
 scanf("%lld",&a[i]);
}
n--;
for(i=n;i>0;i--)
    a[i]=a[i]-a[i-1];
m=j=1;
for(i=2;i<=n;i++)
   {
       if(a[i]==a[j])
       {
           j++;
           if(j>m)
            j=1;
       }
       else
       {
           m++;
           i=m;
           j=1;
       }
   }
   printf("%u\n",m);
   for(i=1;i<=m;i++)
    printf("%lld\n",a[i]);
    return 0;
}