博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客网暑期ACM多校训练营(第二场) D money 思维
阅读量:6554 次
发布时间:2019-06-24

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

链接:

来源:牛客网

White Cloud has built n stores numbered from 1 to n.
White Rabbit wants to visit these stores in the order from 1 to n.
The store numbered i has a price a[i] representing that White Rabbit can spend a[i] dollars to buy a product or sell a product to get a[i] dollars when it is in the i-th store.
The product is too heavy so that White Rabbit can only take one product at the same time.
White Rabbit wants to know the maximum profit after visiting all stores.
Also, White Rabbit wants to know the minimum number of transactions while geting the maximum profit.
Notice that White Rabbit has infinite money initially.

输入描述:

The first line contains an integer T(0
<=5), denoting the number of test cases. In each test case, there is one integer n(0
<=100000) in the first line,denoting the number of stores. For the next line, There are n integers in range [0,2147483648), denoting a[1..n].

输出描述:

For each test case, print a single line containing 2 integers, denoting the maximum profit and the minimum number of transactions.示例1

输入

159 10 7 6 8

输出

3 4 分析:我每次只能每一个,然后必须卖掉才能买下一个,中间的利润要最大,交易次数最小 我们可以在坐标系里标出每个点,横坐标点的位置,纵坐标点的值 然后我们发现我们所要求得就是每条非递减线段的值 如下图中,我们要求的就是AB+DE

 注意点值相同的时候要加上这条非递减数列的最后的值,如果不判相等中间断了结果就错了

#include #include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define debug(a) cout << #a << " " << a << endlusing namespace std;const int maxn = 1e5 + 10;const int mod = 10000007;typedef long long ll;int t,n;ll a[maxn],ans,s;int main() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); cin>>t; while(t--){ ans=s=0; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; if(n<2) { cout<<"0 0"<
=a[i-1]) ans+=(a[i]-a[i-1]),fg=1; else if(fg) s+=2,fg=0; } if(a[n]>=a[n-1]&&fg) s+=2; cout<
<<" "<
<

  

 

转载于:https://www.cnblogs.com/l609929321/p/9347363.html

你可能感兴趣的文章
[arm驱动概念篇]Linux内存管理(上)
查看>>
iap 应用跳转代码详解
查看>>
iOS 应用程序内部国际化,不跟随系统语言
查看>>
spring boot1.5以上版本@ConfigurationProperties取消location注解后的替代方案
查看>>
java发送HTTP header请求
查看>>
学习微服务的统一配置管理-springCloud config+git
查看>>
我的友情链接
查看>>
Raid 简介
查看>>
使用 VLC作为Server来实现输出Mpeg TS
查看>>
MongoDB实战(6)命令行与进程
查看>>
openstack导出image镜像并上传的方法
查看>>
深入分析ConcurrentHashMap
查看>>
linux下如何实现不同的用户对同一文件都有写权限
查看>>
mysql+pam模块实现vsftp虚拟用户统一管理
查看>>
oracle constraint: 总结
查看>>
Java设计模式百例 - 责任链模式
查看>>
perl 删除某个文件
查看>>
Linux介绍
查看>>
sonar-关于安装配置(一)
查看>>
1Z0-051-DDL-表的约束
查看>>