Pagini recente » Cod sursa (job #761683) | Rating Pripas Catalin (catalinn2014) | Istoria paginii runda/qweqwe | Cod sursa (job #2763614) | Cod sursa (job #361325)
Cod sursa(job #361325)
#include<stdio.h>
long long x[510000],pi[510000],i,j,n,k;
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%lld",&n);
for(i=0;i<n;i++) scanf("%lld",&x[i]);
for(i=n-1;i>=1;--i) x[i]-=x[i-1];
pi[1]=0;
k=0;
for(i=2;i<n;i++) { while(k>0&&x[k+1]!=x[i]) k=pi[k];
if(x[k+1]==x[i]) ++k;
pi[i]=k;
}
n=n-1-pi[n-1];
printf("%lld\n",n);
for(i=1;i<=n;i++) printf("%lld\n",x[i]);
fclose(stdin);
fclose(stdout);
return 0;
}