Pagini recente » Cod sursa (job #2853944) | Cod sursa (job #2764868) | Cod sursa (job #21949) | Cod sursa (job #1705933) | Cod sursa (job #2203048)
#include <fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long v[500005], u[500005];
int main() {
long long x, y;
long long n, i;
f >> n >> x;
for (i = 1; i < n; ++i) {
f >> y;
v[i] = y - x;
x = y;
}
long long k = 0;
u[1] = 0;
for (i = 2; i < n; ++i) {
while (k != 0 && v[k + 1] != v[i])
k = u[k];
if (v[k + 1] == v[i])
++k;
u[i] = k;
}
long long nr = 0;
for (i = 1; i < n; ++i)
if (u[i] == 0)
nr = i;
g << nr << '\n';
for (i = 1; i <= nr; ++i)
g << v[i] << '\n';
return 0;
}