Pagini recente » Cod sursa (job #1612398) | Cod sursa (job #2119495) | Cod sursa (job #2952401) | Cod sursa (job #1762162) | Cod sursa (job #1601603)
#include <fstream>
using namespace std;
const int N_MAX = 5e5;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
int N;
int64_t a[N_MAX + 5];
int p[N_MAX + 5];
int main() {
fin >> N;
for (int i = 1; i <= N; ++i) {
fin >> a[i];
a[i - 1] = a[i] - a[i - 1];
}
--N;
for (int i = 2, q = 0; i <= N; ++i) {
while (q > 0 && a[q + 1] != a[i])
q = p[q];
if (a[q + 1] == a[i])
++q;
p[i] = q;
}
fout << N - p[N] << "\n";
for (int i = 1; i <= N - p[N]; ++i)
fout << a[i] << "\n";
return 0;
}