Pagini recente » Cod sursa (job #389305) | Cod sursa (job #2627250) | Cod sursa (job #3235888) | clasament-arhiva-educationala | Cod sursa (job #3163511)
#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 - 3; 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 - 3 - pi[n - 4];
cout << l << '\n';
for (int i = 0; i < l; i++)
cout << v[i] << '\n';
return 0;
}