H Энди и покупки
Тема ссылка: https://ac.nowcoder.com/acm/contest/940/H
Название Описание
Энди пойти на рынок , чтобы купить п кусков груза, цена каждого пакета есть А
я
. Компании с целью привлечения клиентов, чтобы купить N штук груза каждого клиента скидка список, есть немного в дробных N B 1 на список
J
представляет скидку. Для каждой скидки б
J
, пользователем , чтобы решить, использовать его , чтобы сделать цену товара в б
J
* A
я
, и может быть использован только один раз.
Энди хочет, чтобы вы помогли ему считать его минимальную стоимость.
Введите описание:
Сначала введите положительное целое число т, число выборок представителя группы. (1≤t≤10)
для каждого образца:
в первой строке, введите положительное целое число п (1≤n≤1000).
Вторая строка содержит п целых чисел, первое целое число I A [I] представитель элемента списка г-го. (1≤a [I] ≤1e9)
Третья строка содержит ряд малого п Ь [I], указанные в заголовке значения , как описано. (0≤b [я] ≤1)
Выход Описание:
Для каждого образца, выход действительного числа с, трех знаков после запятой, представляет собой минимальную стоимость.
Пример 1
запись
1 5 1 2 3 4 5 0,1 0,2 0,3 0,4 0,5
экспорт
3,500
Идеи:
Большая большая скидка первоначальная цена, умноженная умноженным после своего рода аккумулировать
# include <бит / STDC ++ ч.> с использованием пространства имен STD; ЬурейеЕ долго долго LL; Const INT maxn = 1005 ; структура узла { INT а; двойная Чжэ; } Узел [ 1005 ]; INT основных () { INT т; CIN >> т; в то время как (T-- ) { INT п; CIN >> п; INT х [maxn]; двойная у [maxn]; для (Int я = 0 ; <п; я ++ ) CIN >> х [г]; сортировки (х, х + п); для ( INT I = 0 ; <п; я ++ ) Node [I] .a = х [г]; для ( INT I = 0 ; <п; я ++ ) CIN >> у [I]; рода (у, у + п, больше < двойного > ()); для ( INT I = 0 ; <п; я ++ ) Узел [I] .zhe =у [I]; двойная сумма = 0.0 ; для ( INT I = 0 ; <п; я ++ ) сумма + = узел [I] .a * Узел [я] .zhe; Е ( " % .3f \ п " , сумма); } Возвращает 0 ; }