Pagini recente » Cod sursa (job #1679538) | Cod sursa (job #217622) | Cod sursa (job #1926341) | Cod sursa (job #453962) | Cod sursa (job #1227274)
#include <fstream>
#define DIM 500005
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
int n;
int A[DIM], 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;
}