Pagini recente » Cod sursa (job #1936240) | Cod sursa (job #1333655) | Cod sursa (job #2413670) | Cod sursa (job #1041308) | Cod sursa (job #1460015)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
const int Dim = 500001;
int N,P[Dim];
long long D[Dim],X;
int main()
{
fin >> N;
N--;
for (int i = 0;i <= N;i++)
fin >> D[i];
for (int i = N;i > 0;i--)
D[i] -= D[i - 1];
for (int i = 2;i <= N;i++)
{
while(X > 0 && D[i] != D[X + 1])
X = P[X];
if (D[X + 1] == D[i])
X++;
P[i] = X;
}
fout << N - P[N] << "\n";
for (int i = 1;i <= N - P[N];i++)
fout << D[i] << "\n";
return 0;
}