Pagini recente » Cod sursa (job #1948367) | Cod sursa (job #2377743) | Cod sursa (job #155955) | Cod sursa (job #709505) | Cod sursa (job #19713)
Cod sursa(job #19713)
#include <stdio.h>
#define MN (524288)
long long n[MN];
int N, p[MN], X;
int main()
{
int i, k;
long long on, nn;
freopen("reguli.in", "r", stdin);
freopen("reguli.out", "w", stdout);
scanf("%d %lld", &N, &on);
for(i = 1; i < N; ++ i, on = nn) {
scanf("%lld", &nn);
n[i] = nn-on;
//printf("%lld ", n[i]);
}
//printf("\n");
for(k = p[1] = 0, i = 2; i < N; ++ i) {
for(; k > 0 && n[i] != n[k+1]; k = p[k]);
k += (n[k+1] == n[i]);
p[i] = k;
}
//printf("%d\n", p[N-1]);
X = N-1-p[N-1];
printf("%d\n", X);
for(i = 1; i <= X; ++ i)
printf("%lld\n", n[i]);
/*
float s = sizeof(n)+sizeof(p);
s /= 1024;
printf("%.4f\n", s);
*/
return 0;
}