Pagini recente » Istoria paginii runda/11/clasament | Cod sursa (job #2585481) | Cod sursa (job #1213697) | Cod sursa (job #1765061) | Cod sursa (job #361321)
Cod sursa(job #361321)
#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("%d",&n);
for(i=0;i<n;i++) scanf("%d",&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("%d\n",n);
for(i=1;i<=n;i++) printf("%d\n",x[i]);
fclose(stdin);
fclose(stdout);
return 0;
}