Pagini recente » Cod sursa (job #2488991) | Cod sursa (job #2781813) | Cod sursa (job #2538071) | Cod sursa (job #1759584) | Cod sursa (job #1227276)
#include <fstream>
#define DIM 500005
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
int n;
long long A[DIM];
int Pi[DIM];
int main() {
f >> n;
for (int i = 1; i <= n; ++i)
f >> A[i];
for (int i = 1; i <= n; ++i)
A[i] = A[i + 1] - A[i];
--n;
for (int i = 2; i <= n; ++i) {
int q = Pi[i-1];
while (q && A[i] != A[q + 1])
q = Pi[q];
if (A[i] == A[q + 1])
++q;
Pi[i] = q;
}
n -= Pi[n];
g << n << "\n";
for (int i = 1; i <= n; ++i)
g << A[i] << "\n";
return 0;
}