Pagini recente » Cod sursa (job #3161883) | Cod sursa (job #1767702) | Cod sursa (job #1286867) | Cod sursa (job #1223335) | Cod sursa (job #988666)
Cod sursa(job #988666)
#include <cstdio>
using namespace std;
const int NMAX = 500003;
int PI[NMAX], V[NMAX];
int main () {
freopen ("reguli.in", "r", stdin);
freopen ("reguli.out", "w", stdout);
int N, i, f, a, k = 0;
scanf ("%d%d%d", &N, &f, &a);
--N;
V[1] = a - f;
f = a;
for (i = 2; i <= N; ++i) {
scanf ("%d", &a);
V[i] = a - f;
f = a;
while (k && V[k + 1] != V[i])
k = PI[k];
if (V[k + 1] == V[i])
++k;
PI[i] = k;
}
a = N - PI[N];
printf ("%d\n", a);
for (i = 1; i <= a; ++i)
printf ("%d\n", V[i]);
}