#include <iostream>
#include <algorithm>
int main()
{
std::vector<int> data {100, 80, 90, 100, 80, 60};
std::sort( data.begin(), data.end() );
for( auto it = data.begin(); it != data.end(); ) {
auto next = std::upper_bound( std::next( it ), data.end(), *it );
auto newval = *it / std::distance( it, next );
std::fill( it, next, newval );
it = next;
}
for( auto i : data )
std::cout << i << " ";
std::cout << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKaW50IG1haW4oKQp7CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IGRhdGEgezEwMCwgODAsIDkwLCAxMDAsIDgwLCA2MH07CgogICAgc3RkOjpzb3J0KCBkYXRhLmJlZ2luKCksIGRhdGEuZW5kKCkgKTsKICAgIGZvciggYXV0byBpdCA9IGRhdGEuYmVnaW4oKTsgaXQgIT0gZGF0YS5lbmQoKTsgKSB7CiAgICAgICAgYXV0byBuZXh0ID0gc3RkOjp1cHBlcl9ib3VuZCggc3RkOjpuZXh0KCBpdCApLCBkYXRhLmVuZCgpLCAqaXQgKTsKICAgICAgICBhdXRvIG5ld3ZhbCA9ICppdCAvIHN0ZDo6ZGlzdGFuY2UoIGl0LCBuZXh0ICk7CiAgICAgICAgc3RkOjpmaWxsKCBpdCwgbmV4dCwgbmV3dmFsICk7CiAgICAgICAgaXQgPSBuZXh0OwogICAgfQoKICAgIGZvciggYXV0byBpIDogZGF0YSApCiAgICAgICBzdGQ6OmNvdXQgPDwgaSA8PCAiICI7CiAgICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwp9Cg==