Минимальное скалярное произведение

Просмотр в формате PDF

Submit solution


Очки: 130
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

Экономист распределяет n ставок по n активам.

Для каждой ставки известен её объём, а для каждого актива — коэффициент стоимости. Экономист может произвольно переназначить, какая ставка будет вложена в какой актив. Если ставка объёма a_i направлена в актив с коэффициентом b_j, то вклад в суммарную стоимость равен a_i * b_j.

Необходимо распределить ставки по активам так, чтобы суммарная стоимость

a_1*b_1 + a_2*b_2 + ... + a_n*b_n

была минимально возможной.

Входные данные

В первой строке задано число n — количество ставок и активов.

Во второй строке заданы n чисел — объёмы ставок.

В третьей строке заданы n чисел — коэффициенты стоимости активов.

Выходные данные

Выведите минимально возможную суммарную стоимость.

Ответ может не помещаться в 32-битный целочисленный тип.

Ограничения

  • 1 <= n <= 2 * 10^5
  • |a_i| <= 10^4
  • |b_i| <= 10^4

Примеры

Пример 1

Входные данные

1
5
-7

Выходные данные

-35
Пример 2

Входные данные

5
-2 -1 0 1 2
2 1 0 -1 -2

Выходные данные

-10

Комментарии

Еще нет ни одного комментария.