博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT A1037
阅读量:7114 次
发布时间:2019-06-28

本文共 546 字,大约阅读时间需要 1 分钟。

clipboard.png

这道题的贪心思路就是分两个情况,一个大于零,一个小于零,分别进行排序,大的乘大的;
对于代码里,我们直接对其进行sort排序,然后分两种情况,一个负数,一个正数;
对于负数,采用的是同时两个序列从最小的开始选取,直到有一个队列穷举完毕;
正数情况类似;
但是需要注意的是一定要从头遍历,从而以防出现元素漏掉的情况;
代码如下

#include
#include
#include
#include
using namespace std;const int maxn=100010;int coupon[maxn],product[maxn];int main(){ int n,m; scanf("%d",&n); for(int i=0;i
=0&&j>=0&&coupon[i]>0&&product[j]>0){ ans+=coupon[i]*product[j]; i--,j--; } printf("%d\n",ans); system("pause"); return 0;}

转载地址:http://qbwel.baihongyu.com/

你可能感兴趣的文章
Python抓取优酷视频(上):爬虫使用及数据处理
查看>>
伪触发 input file 的click事件
查看>>
远程连接ejabberd的mnesia数据库
查看>>
简单程序实现100以内加减乘除
查看>>
第148天:js+rem动态计算font-size的大小,适配各种手机设备
查看>>
input checkbod 全选 反选
查看>>
httpclient,java跨系统调用,第三接口调用实例
查看>>
Objective-C征途:BOOL Party
查看>>
mysql c-api 预处理语句
查看>>
functions 示例
查看>>
C#编译基础知识(三)
查看>>
插入订单并且输出订单号的sql存储过程
查看>>
虚拟Ip技术如何实现备机容灾
查看>>
windows快捷启动命令
查看>>
Python几个算法实现
查看>>
about selection and range
查看>>
linux性能系列--内存
查看>>
php开发中的一些常用统计的日期
查看>>
洛谷 3951 小凯的疑惑——找规律/数学
查看>>
bzoj 4300 绝世好题——DP
查看>>