Pagini recente » Cod sursa (job #3162652) | Cod sursa (job #1184342) | Cod sursa (job #1997100) | Cod sursa (job #28356) | Cod sursa (job #1280875)
#include<stdio.h>
#include<iostream>
using namespace std;
int N, a[500100],b[500100],pi[500100],q;
int main() {
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%d",&N);
for(int i=1;i<=N;++i) {
scanf("%d",&a[i]);
}
for(int i=1;i<N;++i) {
b[i] = a[i+1] - a[i];
}
--N;
for(int i=2;i<=N;++i) {
while(q && b[i] != b[q+1]) {
q = pi[q];
}
if(b[i]==b[q+1]) {
++q;
}
pi[i] = q;
}
printf("%d\n",N - pi[N]);
for(int i=1;i<=N-pi[N];++i) {
printf("%d\n",b[i]);
}
return 0;
}