Pagini recente » Cod sursa (job #1473622) | Cod sursa (job #1007993) | Cod sursa (job #2867989) | Cod sursa (job #2850934) | Cod sursa (job #3202980)
// #include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream cin("reguli.in");
ofstream cout("reguli.out");
long long a[500002],n,m;
long long lps[500002];
int main()
{
cin >> n;
for (int i = 0; i < n; i++)
cin >> a[i];
for (int i = 0; i < n - 1; i++)
a[i] = a[i + 1] - a[i];
n--;
long long q = 0;
long long l = 0;
for (int i = 1; i < n ; i++)
{
while (q && a[q] != a[i])
q=lps[q-1];
if (a[q] == a[i])
q++;
lps[i] = q;
}
cout << n - lps[n - 1] << '\n';
for (int i = 0; i < n- lps[n - 1]; i++)
cout << a[i] << '\n';
return 0;
}