#163Средне
Наибольшая сумма запросов
Время: 1 s · Память: 256 MB
- Префиксные суммы
Условие
Дан массив из чисел и запросов . Ответ на запрос — . До запросов элементы массива можно как угодно переставить. Найдите наибольшую сумму ответов на все запросы.
Формат ввода
В первой строке и (). Во второй — целых чисел (). В каждой из следующих строк запрос: два целых числа и ().
Формат вывода
Одно число — наибольшая суммарная величина.
Примеры
Ввод
3 3 5 3 2 1 2 2 3 1 3
Вывод
25
Ввод
5 3 5 2 4 1 3 1 5 2 3 2 3
Вывод
33
Примечание
Пусть — в скольких запросах участвует позиция ; это считается разностным массивом за . Сумма равна , значит, наибольшее число нужно поставить на самую используемую позицию: отсортируйте и отдельно и перемножьте соответствующие элементы.
В первом примере : в середину, ответ . Ответ достигает — нужен 64-битный тип.
Источник: Codeforces, задача 276C.
