Pagini recente » Cod sursa (job #640596) | Cod sursa (job #675720) | Cod sursa (job #457001) | Cod sursa (job #2759821) | Cod sursa (job #1496096)
#include<cstdio>
long long v[500001];
int pi[500001];
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
int n;
scanf("%d ",&n);
for(int i=1;i<=n;i++)
{
scanf("%lld ",&v[i]);
if(i>1)
v[i-1]=v[i]-v[i-1];
}
/*for(int i=1;i<=n-1;i++)
printf("%d ",v[i]);
printf("\n");*/
int k=0;
pi[1]=0;
for(int i=2;i<=n;i++)
{
while(k>0 && v[i]!=v[k+1])
{
k=pi[k];
}
if(v[i]==v[k+1])
k++;
pi[i]=k;
}
/*for(int i=1;i<=n;i++)
printf("%d ",pi[i]);
printf("\n");*/
int val=n-pi[n-1]-1;
printf("%d\n",val);
for(int i=1;i<=val;i++)
printf("%d\n",v[i]);
fclose(stdin);
fclose(stdout);
return 0;
}