Pagini recente » Cod sursa (job #1434911) | Cod sursa (job #2566462) | Cod sursa (job #1043622) | Cod sursa (job #1987722) | Cod sursa (job #1005363)
#include<stdio.h>
int x[500002],pi[500002];
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
int n,i,aux;
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",&x[i]);
aux=0;
for(i=n-1;i>0;--i)
x[i]=x[i]-x[i-1];
--n;
for(i=2;i<=n;++i)
{
while(x[aux+1]!=x[i]&&aux)
aux=pi[aux];
if(x[aux+1]==x[i])
++aux;
pi[i]=aux;
}
n=n-pi[n];
printf("%d\n",n);
for(i=1;i<=n;++i)
printf("%d\n",x[i]);
return 0;
}