当前位置: 首页 > news >正文

PTA 魔法优惠券

7-83 魔法优惠券

分数 25

全屏浏览题目

作者 陈越

单位 浙江大学

在火星上有个魔法商店,提供魔法优惠券。每个优惠劵上印有一个整数面值K,表示若你在购买某商品时使用这张优惠劵,可以得到K倍该商品价值的回报!该商店还免费赠送一些有价值的商品,但是如果你在领取免费赠品的时候使用面值为正的优惠劵,则必须倒贴给商店K倍该商品价值的金额…… 但是不要紧,还有面值为负的优惠劵可以用!(真是神奇的火星)

例如,给定一组优惠劵,面值分别为1、2、4、-1;对应一组商品,价值为火星币M7、6、−2、−3,其中负的价值表示该商品是免费赠品。我们可以将优惠劵3用在商品1上,得到M28的回报;优惠劵2用在商品2上,得到M12的回报;优惠劵4用在商品4上,得到M3的回报。但是如果一不小心把优惠劵3用在商品4上,你必须倒贴给商店M12。同样,当你一不小心把优惠劵4用在商品1上,你必须倒贴给商店M7。

规定每张优惠券和每件商品都只能最多被使用一次,求你可以得到的最大回报。

输入格式:

输入有两行。第一行首先给出优惠劵的个数N,随后给出N个优惠劵的整数面值。第二行首先给出商品的个数M,随后给出M个商品的整数价值。N和M在[1, 106]之间,所有的数据大小不超过230,数字间以空格分隔。

输出格式:

输出可以得到的最大回报。

输入样例:

4 1 2 4 -1
4 7 6 -2 -3

代码分享:

#include <iostream>
#include <algorithm>
using namespace std;
int s1[1000100]={0};//优惠券的负数
int s2[1000100]={0};//优惠券的正数
int w1[1000100]={0};//价钱的负数
int w2[1000100]={0};//价钱的正数
int main(){int n,m,sum=0;int a1=0,a2=0,b1=0,b2=0;cin>>n;for(int i=0;i<n;i++){int z;cin>>z;if(z<0){s1[a1]=z;a1++;}else{s2[a2]=z;a2++;}}//输入每张优惠券的数额cin>>m;for(int i=0;i<m;i++){int z;cin>>z;if(z<0){w1[b1]=z;b1++;}else{w2[b2]=z;b2++;}}//输入每件商品的价格sort(s1,s1+a1);//把优惠券的负数从小到大排序sort(s2,s2+a2,greater<int>());//优惠券的正数从大到小排列sort(w1,w1+b1);//把商品的价格的负数从小到大排序sort(w2,w2+b2,greater<int>());//把商品的价格的正数从大到小排序for(int i=0;i<a1&&i<b1;i++){sum+=s1[i]*w1[i];}//计算负数的值for(int j=0;j<a2&&j<b2;j++){sum+=s2[j]*w2[j];}//计算正数的值cout<<sum;return 0;
}

http://www.lryc.cn/news/248038.html

相关文章:

  • P8A110-A120经典赛题
  • 文件基础知识
  • 二叉树OJ题之二
  • MySql表中添加emoji表情
  • 【新手解答1】深入探索 C 语言:变量名、形参 + 主调函数、被调函数 + 类和对象 + 源文件(.c 文件)、头文件(.h 文件)+ 库
  • 2023最新的软件测试热点面试题(答案+解析)
  • NCo3.1(08) - Nco3 服务器端编程
  • 【代码随想录】算法训练计划36
  • Python (十五) 面向对象之多继承问题
  • 广域网加速技术
  • 构建智能医患沟通:陪诊小程序开发实战
  • 插入区间[中等]
  • Android Bitmap 模糊效果实现 (二)
  • 初识Java 18-4 泛型
  • 家政保洁预约小程序app开发特点有哪些?
  • 【JavaEE初阶】 HTTP响应报文
  • PTA: 螺旋矩阵
  • SparkSQL远程调试(IDEA)
  • Vue2 Vue3 响应式实现原理
  • Android Tombstone 与Debuggerd 原理浅谈
  • Matlab 三维电力线重建
  • GoLang Filepath.Walk遍历优化
  • Java面向对象第7天
  • 网络安全如何自学?
  • Flink-时间窗口
  • 软件设计模式原则(三)单一职责原则
  • 使用Postman创建Mock Server
  • 【古月居《ros入门21讲》学习笔记】15_ROS中的坐标系管理系统
  • 初始linux:文件操作
  • iOS上传ipa使用可视化工具Transporter