Написать программу на Пайтон, для решения задачи
創建於:2025年12月6日
使用 GPT-5.1 Thinking 回答 Chat01
創建於:2025年12月6日
使用 GPT-5.1 Thinking 回答 Chat01
Написать программу на Пайтон, для решения задачи
Вот решение на Python для задачи «C-Конфетный баланс».
Идея:
S = sum(a).x конфет, а таких цветов k, то останется x * k конфет.S - x * k. Чтобы это число было минимальным, нужно максимизировать x * k.x выгодно взять все цвета, у которых a_i ≥ x, тогда k = count(a_i ≥ x).x. Достаточно проверять x, равные некоторым a_i:
между двумя соседними значениями количество a_i ≥ x не меняется, а x * k возрастает с ростом x, значит максимум в этом интервале достигается в правой границе ‒ то есть в одном из a_i.Алгоритм:
n и массив a.a по возрастанию.S = sum(a).i (от 0 до n-1) считаем:
x = a[i]k = n - i (столько элементов ≥ x в отсортированном массиве)best = max(best, x * k)S - best.Код:
pythonimport sys def main(): data = sys.stdin.read().strip().split() if not data: return n = int(data[0]) a = list(map(int, data[1:1 + n])) a.sort() total = sum(a) best = 0 # максимальное значение x * k n = len(a) # перебираем возможные x = a[i] for i, x in enumerate(a): k = n - i # сколько элементов >= x value = x * k if value > best: best = value # минимальное количество конфет, которые надо съесть answer = total - best print(answer) if __name__ == "__main__": main()
Эта программа соответствует формату ввода/вывода с сайта (чтение из stdin, вывод одного числа).