Pagini recente » Cod sursa (job #2737472) | Cod sursa (job #2805473) | Cod sursa (job #1631782) | Cod sursa (job #300513) | Cod sursa (job #2639425)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("reguli.in");
ofstream fout ("reguli.out");
long long dif [500003];
long long v [500003];
int n, p [500003], X;
int main (){
fin >> n;
for (int i = 1; i <= n; ++ i)
fin >> v [i];
for (int i = 1; i < n; ++ i)
dif [i] = v [i + 1] - v [i];
for (int i = 2; i < n; ++ i){
while (X != 0 && dif [X + 1] != dif [i])
X = p [X];
if (dif [X + 1] == dif [i])++ X;
p [i] = X;
}
int ans = n - p [n - 1] - 1;
fout << ans << '\n';
for (int i = 1; i <= ans; ++ i)
fout << dif [i] << '\n';
return 0;
}