Pagini recente » Cod sursa (job #280333) | Cod sursa (job #1096889) | Cod sursa (job #246353) | Cod sursa (job #2491877) | Cod sursa (job #2286859)
#include <bits/stdc++.h>
#define MAXN 500005
#define llg long long
llg LPS[MAXN];
void ComputeLPS(llg N, llg String[]) {
for (llg i=2, Len=0; i<=N; ++i) {
while (Len && String[i] != String[Len+1])
Len = LPS[Len];
if (String[i] == String[Len+1]) ++ Len;
LPS[i] = Len;
}
}
std::ifstream In("reguli.in");
std::ofstream Out("reguli.out");
llg N;
llg V[MAXN];
void Citire() {
In >> N;
llg X, Y; In >> X;
for (llg i=1; i<N; ++i)
In >> Y,
V[i] = Y-X,
X = Y;
}
void Rezolvare() {
--N;
ComputeLPS(N, V);
llg Ans = N - LPS[N];
Out << Ans << '\n';
for (llg i=1; i<=Ans; ++i)
Out << V[i] << '\n' ;
}
int main()
{
Citire();
Rezolvare();
return 0;
}