Pagini recente » Cod sursa (job #2490010) | Cod sursa (job #810333) | Cod sursa (job #48022) | Cod sursa (job #240603) | Cod sursa (job #3163522)
#include <fstream>
#define MAX 500000
using namespace std;
ifstream cin ("reguli.in");
ofstream cout ("reguli.out");
int pi[MAX + 10], n;
long long v[MAX + 10];
void kmp()
{
int k = 0;
pi[0] = 0;
for (int i = 1; i < n - 2; i++)
{
while (k != 0 && v[k] != v[i])
k = pi[k - 1];
if (v[k] == v[i])
k++;
pi[i] = k;
}
}
int main()
{
long long val1, val2;
cin >> n >> val1;
for (int i = 1; i < n; i++)
{
cin >> val2;
v[i - 1] = val2 - val1;
val1 = val2;
}
kmp();
int l = n - 2 - pi[n - 3];
cout << l << '\n';
for (int i = 0; i < l; i++)
cout << v[i] << '\n';
return 0;
}