Дети в детском саду получили большой мешок с конфетами. Их в
Дети в детском саду получили большой мешок с конфетами. Их в мешке М штук. Решено, что конфеты обязаны быть распределены посреди N малышей. Каждый ребенок указал количество конфет, которое он желает. Если ребенку не достанется такового количество конфет, которое он желает, он будет обижен. Гнев будет равным квадрату количества желаемых, но не приобретенных конфет. Например, если Вася утверждает, что желает 32 конфеты, но получает лишь 29, ему не хватает 3 конфет, поэтому его гнев будет одинаковым 9. Помогите распределить конфеты так, чтоб сумма ребяческого гнева была малой. Напишите метод.
Задать свой вопросРешил алчным алгоритмом
include lt;bits/stdc++.hgt;
using namespace std;
int ans,n,a[10101],m,b[10101];
main ()
cin gt;gt;n gt;gt;m;
for (int i = 1; i lt;= n; i++)
cin gt;gt;a[i];
sort(a + 1, a + n + 1);
for (int i = 1; i lt;= n; i++)
if (a[i] lt;= m) m-=a[i];
else
b[i] = pow(a[i] - m,2);
for (int i = 1; i lt;= n; i++)
if (b[i]) ans+=b[i];
cout lt;lt;ans;
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.