Pagini recente » Cod sursa (job #1695328) | Cod sursa (job #954439) | Cod sursa (job #1233278) | Cod sursa (job #1090277) | Cod sursa (job #1523171)
#include<cstdio>
using namespace std;
long long v[500010],prefix[500010],n;
void build_prefix(){
int i=0,j;
for(j=2;j<n;j++){
while(v[i+1]!=v[j]&&i!=0)
i=prefix[i];
if(v[i+1]==v[j]&&i+1!=j)
i++;
prefix[j]=i;
}
}
int main(){
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
long long i,x,y,l;
scanf("%lld%lld",&n,&x);
for(i=2;i<=n;i++){
scanf("%lld",&y);
v[i-1]=y-x;
x=y;
}
build_prefix();
l=n-1-prefix[n-1];
printf("%lld\n",l);
for(i=1;i<=l;i++)
printf("%lld\n",v[i]);
return 0;
}