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;
}
评论区