#include <iostream>
#include <vector>
int main() {
const std::size_t n = 5;
const double data[] = {1, 4, 7, 8, 11};
const double th = 2;
std::vector<double> r(1, data[0]);
std::size_t c = 1;
for (std::size_t i = 1; i < n; ++i) {
if ((data[i] - data[i - 1]) >= th) {
r.back() /= static_cast<double>(c);
c = 1;
r.emplace_back(data[i]);
}
else {
r.back() += data[i];
++c;
}
}
r.back() /= c;
for(const auto e: r) {
std::cout << e << " ";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKaW50IG1haW4oKSB7CiAgICBjb25zdCBzdGQ6OnNpemVfdCBuID0gNTsKICAgIGNvbnN0IGRvdWJsZSBkYXRhW10gPSB7MSwgNCwgNywgOCwgMTF9OwogICAgY29uc3QgZG91YmxlIHRoID0gMjsKCiAgICBzdGQ6OnZlY3Rvcjxkb3VibGU+IHIoMSwgZGF0YVswXSk7CiAgICBzdGQ6OnNpemVfdCBjID0gMTsKICAgIGZvciAoc3RkOjpzaXplX3QgaSA9IDE7IGkgPCBuOyArK2kpIHsKICAgICAgICBpZiAoKGRhdGFbaV0gLSBkYXRhW2kgLSAxXSkgPj0gdGgpIHsKICAgICAgICAgICAgci5iYWNrKCkgLz0gc3RhdGljX2Nhc3Q8ZG91YmxlPihjKTsKICAgICAgICAgICAgYyA9IDE7CiAgICAgICAgICAgIHIuZW1wbGFjZV9iYWNrKGRhdGFbaV0pOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgci5iYWNrKCkgKz0gZGF0YVtpXTsKICAgICAgICAgICAgKytjOwogICAgICAgIH0KICAgIH0KICAgIHIuYmFjaygpIC89IGM7CgogICAgZm9yKGNvbnN0IGF1dG8gZTogcikgewogICAgICAgIHN0ZDo6Y291dCA8PCBlIDw8ICIgIjsKICAgIH0KCiAgICByZXR1cm4gMDsKfQoK