题目说了那么多,就是给你两个序列,分别选取元素进行一对一相乘,求得到的最大乘积。

将两个序列的正和负数分开,排个序,然后分别将正1和正2前面的相乘,负1和负2前面的相乘,累加和即可。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string.h>
#include <cmath>
#include <vector>
using namespace std;
const int maxn=+;
int coupon1[maxn];
int c1;
int coupon2[maxn];
int c2;
int product1[maxn];
int product2[maxn];
int p1,p2; bool cmp(int a,int b){
return a>b;
}
int main()
{
int nc,np;
long long tmp;
c1=c2=p1=p2=;
scanf("%d",&nc);
for(int i=;i<nc;i++){
scanf("%lld",&tmp);
if(tmp>=)
coupon1[c1++]=tmp;
else
coupon2[c2++]=tmp;
}
scanf("%d",&np);
for(int i=;i<np;i++){
scanf("%lld",&tmp);
if(tmp>=)
product1[p1++]=tmp;
else
product2[p2++]=tmp;
}
long long ans=;
sort(coupon1,coupon1+c1,cmp);
sort(product1,product1+p1,cmp);
sort(coupon2,coupon2+c2);
sort(product2,product2+p2);
int min1=min(c1,p1);
for(int i=;i<min1;i++){
ans+=coupon1[i]*product1[i];
}
int min2=min(c2,p2);
for(int i=;i<min2;i++){
ans+=coupon2[i]*product2[i];
}
printf("%lld\n",ans);
return ;
}

PAT甲题题解-1037. Magic Coupon (25)-贪心,水的更多相关文章

  1. PAT甲题题解-1051. Pop Sequence (25)-堆栈

    将1~n压入最多为m元素的栈 给出k个出栈序列,问你是否能够实现. 能输出YES 否则NO 模拟一遍即可,水题. #include <iostream> #include <cstd ...

  2. PAT甲题题解-1059. Prime Factors (25)-素数筛选法

    用素数筛选法即可. 范围long int,其实大小范围和int一样,一开始以为是指long long,想这就麻烦了该怎么弄. 而现在其实就是int的范围,那难度档次就不一样了,瞬间变成水题一枚,因为i ...

  3. PAT甲题题解-1101. Quick Sort (25)-大水题

    快速排序有一个特点,就是在排序过程中,我们会从序列找一个pivot,它前面的都小于它,它后面的都大于它.题目给你n个数的序列,让你找出适合这个序列的pivot有多少个并且输出来. 大水题,正循环和倒着 ...

  4. PAT甲题题解-1117. Eddington Number(25)-(大么个大水题~)

    如题,大水题...贴个代码完事,就这么任性~~ #include <iostream> #include <cstdio> #include <algorithm> ...

  5. PAT甲题题解-1130. Infix Expression (25)-中序遍历

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789828.html特别不喜欢那些随便转载别人的原创文章又不给 ...

  6. PAT甲题题解-1129. Recommendation System (25)-排序

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789819.html特别不喜欢那些随便转载别人的原创文章又不给 ...

  7. PAT甲题题解-1016. Phone Bills (25)-模拟、排序

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789229.html特别不喜欢那些随便转载别人的原创文章又不给 ...

  8. PAT甲题题解-1021. Deepest Root (25)-dfs+并查集

    dfs求最大层数并查集求连通个数 #include <iostream> #include <cstdio> #include <algorithm> #inclu ...

  9. PAT甲题题解-1024. Palindromic Number (25)-大数运算

    大数据加法给一个数num和最大迭代数k每次num=num+num的倒序,判断此时的num是否是回文数字,是则输出此时的数字和迭代次数如果k次结束还没找到回文数字,输出此时的数字和k 如果num一开始是 ...

随机推荐

  1. mitmproxy

    通过脚本定制化实现篡改request或者response mitmproxy 顾名思义中间人代理[man-in-the-middle proxy],和fiddler.Charles等工具类似,通过代理 ...

  2. Alpha冲刺报告(4/12)(麻瓜制造者)

    今日完成的情况 江郑: 今天对数据库的需求部分进行了完善 邓弘立: 完成了首页界面UI 刘双玉: 基本完成商品信息发布接口 汪志彬: 尝试UI的设计 符天愉: 将登录接口部署到服务器上,结果Linux ...

  3. Windows2008 Server r2 64位显示桌面图标的方法

    点击桌面左下方的开始菜单,在搜索框中输入“icon”,如下图所示: 点击:显示或隐藏桌面上的通用图标,然后弹出如下图: 应用并确定即可!

  4. React-Native开发笔记 持续更新

    1.css单位转换px2dp 在做页面开发的时候习惯了用rem去做css单位,处理各种尺寸数据,到了React-Native里面做app开发时,rem就不好用了,这个时候就需要转换成另外一个单位,基本 ...

  5. 快速数论变换(NTT)

    刚学完FFT,干脆把NTT也学了算了 (一)预备知识 关于原根,这里说得蛮详细的百度百科 为什么使用原根呢?为什么原根可以替代\(\omega_{n}\)呢?想知道为什么就看here NTT用到的各种 ...

  6. XAML 布局StackPanel

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/Fanbin168/article/details/24768459 <Window x:Cla ...

  7. BZOJ4300:绝世好题(DP)

    Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len). Input 输入文件共2行. 第一行包括一个整数 ...

  8. JDBC中的SPI实现

    DriverManger加载时候会调用如下方法: 关键代码:java.sql.DriverManager#loadInitialDrivers 然后 有时间整理一下

  9. linux ssh 应用

    linux 服务器 连接另一个linux服务器 ssh 用户名@IP地址 linux 服务器传输文件到另一个linux服务器 scp 文件名(可多个)  用户名@IP地址:传到的目录 /home

  10. Node.js实战(九)之事件循环

    Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高. Node.js 几乎每一个 API 都是支持回调函数的. Node ...