Pagini recente » Produse | Cod sursa (job #1588960) | Cod sursa (job #2329518) | Cod sursa (job #2483729) | Cod sursa (job #2203046)
#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;
int n, i;
f >> n >> x;
for (i = 1; i < n; ++i) {
f >> y;
v[i] = y - x;
x = y;
}
int 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;
}
int 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;
}