#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<double> a {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
vector<double> b(6, 0);
double need = ((double)a.size()) / b.size();
double have = 0;
size_t pos = 0;
for (size_t i = 0 ; i != a.size() ; i++) {
if (need >= have+1) {
b[pos] += a[i];
have++;
} else {
double frac = (need-have);
b[pos++] += frac * a[i];
have = 1 - frac;
b[pos] += have * a[i];
}
}
for (size_t i = 0 ; i != b.size() ; i++) {
cout << b[i]/need << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7Cgl2ZWN0b3I8ZG91YmxlPiBhIHsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMH07Cgl2ZWN0b3I8ZG91YmxlPiBiKDYsIDApOwoJZG91YmxlIG5lZWQgPSAoKGRvdWJsZSlhLnNpemUoKSkgLyBiLnNpemUoKTsKCWRvdWJsZSBoYXZlID0gMDsKCXNpemVfdCBwb3MgPSAwOwoJZm9yIChzaXplX3QgaSA9IDAgOyBpICE9IGEuc2l6ZSgpIDsgaSsrKSB7CgkJaWYgKG5lZWQgPj0gaGF2ZSsxKSB7CgkJCWJbcG9zXSArPSBhW2ldOwoJCQloYXZlKys7CgkJfSBlbHNlIHsKCQkJZG91YmxlIGZyYWMgPSAobmVlZC1oYXZlKTsKCQkgICAgYltwb3MrK10gKz0gZnJhYyAqIGFbaV07CgkJICAgIGhhdmUgPSAxIC0gZnJhYzsKCQkJYltwb3NdICs9IGhhdmUgKiBhW2ldOwoJCX0KCX0KCWZvciAoc2l6ZV90IGkgPSAwIDsgaSAhPSBiLnNpemUoKSA7IGkrKykgewoJCWNvdXQgPDwgYltpXS9uZWVkIDw8IGVuZGw7Cgl9CglyZXR1cm4gMDsKfQ==