Пекинский университет науки и технологии информационного одиннадцатого программированию (воспроизводству сезона) H

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 ; 
}

 

рекомендация

отwww.cnblogs.com/Vampire6/p/11131713.html