Я пытаюсь уменьшить наибольшие числа, пока не исчерпаю m для уменьшения. Для этого я думал, что набор был лучшим решением, поэтому я попробовал это. Это не сработало. Это первый раз, когда я сталкиваюсь с такой ошибкой. Есть ли способ изменить элементы "изменчивости". Если у вас есть какие-либо советы для лучшего решения, не стесняйтесь ответить.
set<pair<float, long int>> t;
long unsigned n, m;
scanf("%lu%lu", &n, &m);
for (long unsigned i = 0; i < n; i++)
{
float p;
scanf("%f", &p);
t.insert({p, 1});
}
m -= n;
while (m)
{
(*--t.end()).second++;
(*--t.end()).first *= ((*--t.end()).second - 1) / (*--t.end()).second;
m--;
}