北京信息科技大学第十一届程序设计竞赛(重现赛)H andy和购物

链接:https://ac.nowcoder.com/acm/contest/940/H
来源:牛客网

题目描述
andy要去市场买n件货物,每件货物的价格为ai。商家为了吸引顾客,给每个买N件货物的顾客一个折扣清单,清单上有N个小于1的小数bj表示折扣。对于每个折扣bj,由用户自行决定用它使哪个货物的价格变成bj * ai,并且只能用一次。
andy想让你帮他算一下他最少的花费。

输入描述:
先输入一个正整数t,代表样例的组数。(1≤t≤10)

对于每个样例:

第一行,输入一个正整数n(1≤n≤1000)。

第二行包含n个整数,第i个整数a[i]代表第i个商品的原价。(1≤a[i]≤1e9)

第三行包含n个小数b[i],含义如题目描述。(0≤b[i]≤1)
输出描述:
对于每个样例,输出一个实数s,保留3位小数,表示最小的花费。

贪心,最优惠的折扣对应最大的价格

#include<bits/stdc++.h>
using namespace std;
#define PB push_back
#define LL long long
#define FI first
#define SE second
#define POP pop_back()
#define PII pair<LL,LL>
#define PCC pair<char,char>
#define endl '\n'
#define ls x<<1
#define rs x<<1|1
#define m(x) a[x].l+a[x].r>>1

const int N=1e6+7;
const int INF=1e8,mod=109;

double a[N],b[N];
int n,q;

int main()
{
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        for(int i=1;i<=n;i++){
            scanf("%lf",&a[i]);
        }
        for(int i=1;i<=n;i++){
            scanf("%lf",&b[i]);
            b[i]=-b[i];
        }
        sort(a+1,a+1+n);
        sort(b+1,b+1+n);
        double ans=0;
        for(int i=1;i<=n;i++)ans+=-a[i]*b[i];
        printf("%.3f\n",ans);
    }
    return 0;
}


全部评论

相关推荐

积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
就前几天旅游的时候,打开抖音就经常刷到这类视频:以前是高学历学生、老师、主持人,现在做着团播、擦边主播的工作,以及那些经过精心包装的“职业转型”故事——从铺天盖地的VLOG到所谓的“04年夜场工作日记”,这些内容在初中升学、高考放榜等关键时间节点持续发酵。可以说非常直接且精准地在潜移默化地影响着心智尚未成熟的青少年,使其对特殊行业逐渐脱敏。那我就想问了:某些传播公司、平台运营者甚至某些夜场的老板,你们究竟在传递怎样的价值观?点开那些视频,评论区里也是呈现明显的两极分化:一种是​​经济下行论​​:“现在就业市场已经艰难到这种程度了吗?”​​一种是事实反驳派​​:这些创作者往往拥有名校背景,从事着...
牛客刘北:被环境教育的,为了能拿到足够的钱养活自己,不甘心也得甘心,现在的短视频传播的思想的确很扭曲,但是很明显,互联网玩上一年你就能全款提A6,但你全心全意不吃不喝工作一年未必能提A6,但是在高考中考出现这个的确很扭曲,在向大家传播“不上学,玩互联网也可以轻松年入百万”,不是人变了,是社会在变
预测一下26届秋招形势
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务