Pagini recente » Cod sursa (job #761339) | Cod sursa (job #1190758) | Cod sursa (job #983930) | Cod sursa (job #449110) | Cod sursa (job #1704892)
#include <fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long a[500005], dif[500005], maxim;
int prec[500005];
int n, i, j, q;
int main(){
f >> n >> a[0];
for (i = 1; i < n; i++){
f >> a[i];
dif[i] = a[i] - a[i-1];
}
for (i = 2; i < n; i++){
while (q > 0 && dif[i] != dif[q+1])
q = prec[q];
if (dif[q+1] == dif[i])
q++;
prec[i] = q;
}
i = n-prec[n-1]-1;
g << i << '\n';
for (j = 1; j <= i; j++)
g << dif[j] << "\n";
return 0;
}