侧边栏壁纸
  • 累计撰写 192 篇文章
  • 累计创建 2 个标签
  • 累计收到 87 条评论

【题解】股票市场

Allen Best
2023-04-29 / 0 评论 / 0 点赞 / 21 阅读 / 583 字
温馨提示:
本文最后更新于 2023-04-29,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
Description
小爱知道一只股票在今后 n 天的价格。在第一天开始前,小爱有 m 元,那么在最后一天结束后,她最多能有多少钱呢?小爱每天都可以买入或卖出股票,注意股票在交易时的最小单位为 1 股。例如当有 13 元的时候,若股价为 4 元一股,则最多只能买 3 股。 规定每天只能交易一次,如果当天已经买入股票,就不能卖出,反之,如果当天已经卖出,则不能再买进股票。

Format
Input
第一行:两个整数,表示 n 和 m; 第二行:n 个整数 1,…,an,表示每天的股票价格。

Output
单个整数:表示能获得的最大钱数。

Samples
输入数据 1
3 10
1 2 3
输出数据 1
30
说明: 第一天以1元的价格买进10股,到了最后一天以3元的价格卖出,10元变成了30元
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main(){
	long long n,m;
int gp=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>a[i];
	for(int i=1;i<=n;i++){
		if(a[i]<=a[i+1]){
			gp+=m/a[i];
			m%=a[i];
		}
		else if(gp!=0){
			m+=gp*a[i];
			gp=0;
		}
	}
	cout<<m;
	return 0;
}
0

评论区