Pagini recente » Cod sursa (job #1260133) | Cod sursa (job #409380) | Cod sursa (job #415015) | Cod sursa (job #1780373) | Cod sursa (job #18550)
Cod sursa(job #18550)
#include<stdio.h>
#define NMAX 500100
void read();
void prefix();
long long V[NMAX];
long long pi[NMAX];
int N;
int main()
{
freopen("reguli.in", "r", stdin);
freopen("reguli.out", "w", stdout);
read();
return 0;
}
void read()
{
int i, min;
long long a, b;
scanf("%d", &N);
scanf("%lld", &a);
for(i = 1; i < N; i++)
{
scanf("%lld", &b);
V[i] = b - a;
a = b;
}
prefix();
min = N - 1 - pi[N - 1];
printf("%d\n", min);
for(i = 1; i <= min; i++)
printf("%lld\n", V[i]);
}
void prefix()
{
int i, k = 0;
pi[1] = 0;
for(i = 2; i < N; i++)
{
while(V[i] != V[k + 1] && k > 0)
k = pi[k];
if(V[i] == V[k + 1]) k++;
pi[i] = k;
}
}