|
NEERC
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
Поскольку две команды от одного института не могут находится в одном зале, то в соревновниях не может принять участие более k команд от одного института. Таким образом, от каждого института будет участвовать заявленное число команд, если это значение не превышает k и ровно k в противном случае. Иначе говоря, если от института было заявлено x команд, то максимальное количество участвующих команд составит min(x, k). Так как количество залов определяется в конце входных данных, то возникает необходимость использовать массив для запоминания количества заявленных команд. После заполнения массива нужно просуммировать соответствующие максимально возможные значения в цикле и вывести результат.
Реализация решения данной задачи может быть описана следующим алгоритмом:
//чтение данных
read(n)
for i=1..n
read(a[i])
read(k)
//подсчет суммы
ans=0
for i=1..n
ans=ans+min(a[i],k)
write(ans)
| |