Pagini recente » Cod sursa (job #1725121) | Cod sursa (job #1246419) | Cod sursa (job #1579760) | Cod sursa (job #1525753) | Cod sursa (job #1280865)
#include<stdio.h>
long long v[505050];
long long pre[505050];
long long in[505050];
int N;
void calc(){
pre[1]=0;
int loc = 0;
for(int i=2;i<=N;++i){
while(loc > 0 && v[i] != v[loc+1]){
loc = pre[loc];
}
if(v[loc+1] == v[i])
++loc;
pre[i] = loc;
}
}
int main(){
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%d",&N);
for(int i=1;i<=N;++i){
scanf("%lld",&in[i]);
if(i > 1){
v[i-1] = in[i] - in[i-1];
}
}
--N;
calc();
printf("%d\n",N-pre[N]);
for(int i=1;i<=N-pre[N];++i){
printf("%lld\n",v[i]);
}
}