题目描述

来自F星球的Carol是一个不折不扣的“正版游戏受害者”,在黑色星期五的疯狂购买后,钱包渐空的Carol突然发现TA所使用的游戏交易平台上有个值得留意的地方————集换式卡牌。
集换式卡牌是可以买卖的,卖家和买家都来自社区。由于社区的每个人都可以随时发出新的购买请求,一张热门卡牌的报价甚至每个小时都是不一样的。
F星球的居民每个人都有一些特殊技能,而Carol的技能则是预知未来12小时内要发生的所有“静态事件”,这个“静态事件”当然也包含了某张集换式卡牌12小时内的买家最高报价。而Carol要做的就是规划好这12小时,在低价时买入,高价时卖出,以赚差价填回自己的钱包。

Carol现在手头并没有卡,所以他只能通过买入来获得卡。为了展现自己不滥用特殊技能,Carol决定每次购买只买入一张卡,卖出则不限制数量。但是由于智商有限,Carol并不知道他应该在什么时候买入什么时候卖出,于是他请求你来帮忙。而得知他在滥用特殊技能的你自然不打算帮他,于是你打算只告诉他最多能赚多少。那么请问他最多可以赚多少钱?

输入
多组实例测试,输入的第一行给定一个整数T,表示样例数量,接下来每行12个整数c1,c2...c12(<= c1,c2,c3....<=),表示十二小时内某张集换式卡牌的报价。 输出
对于每组样例,均输出一行,表示该12小时内能够获得的最大收益。 样例输入 样例输出 47

提示

注意:每张卡只能卖一次,并且每个时间点可以选择买或者不买,卖出只能在买后的时间

思路:需要找到在一段区间中最大的价格,

代码:

#include<stdio.h>
#include <iostream>
#include<algorithm>
using namespace std;
int a[],b[];//b数组存当前所能卖的最大的价格
int main()
{
int T,i;
scanf("%d",&T);
while(T--)
{
for(i=;i<=;i++)
scanf("%d",&a[i]);
b[]=;
for(i=;i>=;i--)
{
if(a[i]>b[i+])
b[i]=a[i];
else
b[i]=b[i+];
}
int d=,sum=,num=;
for(i=;i<=;i++)
{
if(a[i]<b[i])//思考等于
{
d++;
num+=a[i];
}
else
{
sum+=d*b[i];
sum-=num;
num=;
d=;
}
}
printf("%d\n",sum);
}
return ;
}

1945 : 卡贩子Carol的更多相关文章

  1. 通用礼品卡接口文档(KFC、必胜客、GAP等)

    通用礼品卡接口文档,集于各商家(KFC.必胜客.GAP等)实体卡和会员卡的API虚拟卡,可用于线上/下消费.移动支付. 1.API 1.1商品列表 接口地址:http://v.juhe.cn/gift ...

  2. 【干货分享】流程DEMO-补打卡

    流程名: 补打卡申请 业务描述: 当员工在该出勤的工作日出勤但漏打卡时,于一周内填写补打卡申请. 流程相关文件: 流程包.xml 流程说明: 直接导入流程包文件,即可使用本流程 表单:  流程: 图片 ...

  3. android计算每个目录剩余空间丶总空间以及SD卡剩余空间

    ublic class MemorySpaceCheck { /** * 计算剩余空间 * @param path * @return */ public static String getAvail ...

  4. xamarin MasterDetailPage点击Master时卡顿现象

    在很多项目中经常会使用到MasterDetailPage的布局方式,而且一般做为主页面来开发,在开发中,发现一个并不算Bug的问题,但是却发生了,以此记录下来,方便大家探讨. 现象是这样的,我开发了一 ...

  5. Android手机越用越卡?

    一直不懂Android手机为什么会越用越卡,而ios就几乎能一直保持流畅度.后来发现这个锅不该google背,而是国内混乱的Android软件开发商的锅.主要是Android对应用没什么限制,而goo ...

  6. C#开发微信门户及应用(36)--微信卡劵管理的封装操作

    前面几篇介绍了微信支付方面的内容,本篇继续微信接口的一些其他方面的内容:卡劵管理.卡劵管理是微信接口里面非常复杂的一个部分,里面的接口非常多,我花了不少时间对它进行了封装处理,重构优化等等工作,卡劵在 ...

  7. SIMLock锁卡功能解析

    一.锁卡背景介绍 锁卡即SIMLock,当手机开机启动或者插入SIM卡时,手机modem侧预置在NV项中的配置信息会与SIM卡中的信息做比对,检测是否匹配.若匹配,则SIM卡可以正常使用.若不匹配,则 ...

  8. GJM :Unity使用EasyAR实现脱卡功能

    首先说下大致思路当卡片离开摄像头时间,ImageTarget-Image的SetActive (false),所以其子物体(model)也就不显示了,因此解决的办法就是在Target (false)时 ...

  9. jquery css3问卷答题卡翻页动画效果

    这个选项调查的特效以选项卡的形式,每答完一道题目自动切换到下一条,颇具特色.使用jQuery和CSS3,适合HTML5浏览器. 效果展示 http://hovertree.com/texiao/jqu ...

随机推荐

  1. 软件测试第一次试验JUnit

    一.Junit, hamcrest以及eclemma的安装 对于Junit和hamcrest的安装,我并没有从下载Junit和hamcrest相关的jar包然后通过build path导入到项目中,而 ...

  2. Mdate时间插件

    在做移动端的页面时,用户报名某个活动,需要填写她的出生日期,这时可以用Mdate插件来完成,已达到更好的用户体验 操作很简单,效果也不错,是滑动选择时间的,也有回调函数方便我们使用.只需要在页面中引入 ...

  3. springboot based 主从数据源中间件方案

    先定几个原则/目标: 原则: 1.必须保证数据逻辑的一致性: 反例:刚写了数据,(因为主从延迟)查询不到: 2.对开发人员透明,对业务代码无侵入性:与单数据源的业务代码调用一致: 反例:对已有业务代码 ...

  4. 增加 jQueryValidate的手机号验证功能

    1.通过addMethod增加手机号的验证方法 (位置:和$('form').validate({}) 同级别) //增加手机号验证规则 $.validator.addMethod("isM ...

  5. 基于服务器AAA的实验

    1.实验拓扑 2.地址分配   Device   Interface   IP Address   Subnet Mask   R0 Fa0/0 192.168.1.2 255.255.255.0 S ...

  6. vs-code 基础设置

    汉化设置: 最新版的vscode 汉化需要两步 1 ctrl+shift+p   在顶部输入框中输入 language 后选择  configure Display Language  后进入 第二张 ...

  7. jmeter的学习路线

  8. python基础14_文件操作

    文件操作,通常是打开,读,写,追加等.主要涉及 编码 的问题. #!/usr/bin/env python # coding:utf-8 ## open实际上是从OS请求,得到文件句柄 f = ope ...

  9. FCC JS基础算法题(5):Return Largest Numbers in Arrays(找出多个数组中的最大数)

    题目描述: 找出多个数组中的最大数右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组.提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组 ...

  10. 搞Java

    上班之余,开始研究Java了. 想想从三月份开始自己啃书以来,Spring+Mybatis+公司框架的用法,基本都是速成来的,还是有些恐惧的. Spring万般爽,annotion用的很舒服,但还是想 ...