Pagini recente » Cod sursa (job #2635862) | Cod sursa (job #1151538) | Cod sursa (job #2670960) | Cod sursa (job #3181015) | Cod sursa (job #2457971)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("reguli.in");
ofstream out("reguli.out");
long long n, x;
long long v[500001];
int ans;
int phi[500001];
int main()
{
in >> n >> v[0];
n--;
for (int i = 1; i <= n; i++)
{
in >> x;
v[i] = x - v[0];
v[0] = x;
}
phi[1] = 0;
for (int i = 2; i <= n; i++)
{
int x = i - 1;
while (v[phi[x] + 1] != v[i] && x)
x = phi[x];
if (v[phi[x] + 1] == v[i])
phi[i] = phi[x] + 1;
else
phi[i] = 0;
}
out << n - phi[n] << '\n';
for (int i = 1; i <= n - phi[n]; i++)
out << v[i] << '\n';
}