Pagini recente » Cod sursa (job #1639408) | Cod sursa (job #839444) | Cod sursa (job #3202077) | Cod sursa (job #1885484) | Cod sursa (job #342316)
Cod sursa(job #342316)
#include<stdio.h>
long long x[1<<19],a[1<<19];
int p[1<<19];
int i,k,N,ok;
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%d", &N);
for(i=0;i<N;i++)
scanf("%lld",&x[i]);
for(i=1;i<N;i++)
a[i]=x[i]-x[i-1];
p[1]=k=0;
for(i=2;i<N;i++)
{
while(k>0 && a[k+1]!=a[i])
k=p[k];
if(a[k+1]==a[i])
k++;
p[i]=k;
}
k=N-1-p[N-1];
printf("%d\n",k);
for(i=1;i<=k;i++)
printf("%lld\n",a[i]);
return 0;
}