Pagini recente » Cod sursa (job #1819512) | Cod sursa (job #2895405) | Cod sursa (job #1060628) | Cod sursa (job #2323784) | Cod sursa (job #1796591)
#include <iostream>
#include <fstream>
#define NMAX 500005
using namespace std;
long long last_x, x, v[NMAX], pi[NMAX], sol, k, n;
int main ()
{
ifstream cin ("reguli.in");
ofstream cout ("reguli.out");
cin >> n ;
for (int i = 1; i <= n; i++)
{
cin >> x;
if (i != 1)
v[i - 1] = x - last_x;
last_x = x;
}
n--;
//cout << n;
for (int i = 2; i <= n; i++)
{
while (k && v[k + 1] != v[i])
k = pi[k];
if (v[k + 1] == v[i])
k++;
pi[i] = k;
}
sol = n - pi[n];
cout << sol << "\n";
for (int i = 1; i <= sol; i++)
cout << v[i]<< "\n";
return 0;
}