Pagini recente » Cod sursa (job #2432632) | Cod sursa (job #797545) | Cod sursa (job #3291424) | Cod sursa (job #2874136) | Cod sursa (job #1249956)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin ("reguli.in");
ofstream fout ("reguli.out");
const int N = 5e5 + 5;
int n, t[N], k = 0;
long long x[N], v[N];
int main() {
fin >> n;
for (int i = 0; i < n; ++i)
fin >> x[i];
for (int i = 1; i < n; ++i)
v[i] = x[i] - x[i-1];
for (int i = 2; i < n; ++i) {
while (k && v[k + 1] != v[i])
k = t[k];
if (v[k + 1] == v[i])
k++;
t[i] = k;
}
fout << n - 1 - t[n - 1] << "\n";
for (int i = 1; i <= n - 1 - t[n - 1]; ++i)
fout << v[i] << "\n";
}