Pagini recente » Cod sursa (job #2383651) | Cod sursa (job #3237898) | Cod sursa (job #2857080) | Cod sursa (job #2572930) | Cod sursa (job #988670)
Cod sursa(job #988670)
#include <cstdio>
using namespace std;
const int NMAX = 500003;
int PI[NMAX];
long long V[NMAX];
int main () {
freopen ("reguli.in", "r", stdin);
freopen ("reguli.out", "w", stdout);
long long a, f;
int N, i, k = 0;
scanf ("%d%lld%lld", &N, &f, &a);
--N;
V[1] = a - f;
f = a;
for (i = 2; i <= N; ++i) {
scanf ("%lld", &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 ("%lld\n", a);
for (i = 1; i <= a; ++i)
printf ("%lld\n", V[i]);
}