专栏文章

题解:B4100 [CSP-X2023 山东] 赚钱

B4100题解参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@miqnkvcx
此快照首次捕获于
2025/12/04 07:43
3 个月前
此快照最后确认于
2025/12/04 07:43
3 个月前
查看原文

思路

无论在哪里卖出去,都一定要在前面的最小值处买进。
考虑维护自己前面的最小值,再一个一个找出答案最大值。

AC CODE

CPP
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<iomanip>
#include<cstring>
#include<string>
#include<cmath>
#include<queue>
#include<map>
#include<list>
#include<stack>
#include<cctype>
#include<cstdlib>
#include<utility>
#include<set>
#include<bitset>
using namespace std;
inline int read(){
	int x=0,f=1;char ch=getchar();
	while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
	while (ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-48;ch=getchar();}
	return x*f;
}
inline void write(int x) {
	if (x<0)x=-x,putchar('-');
	if (x>9)write(x/10);
	putchar(x%10+'0');
}
const int N=1e6;
int n=read(),minn=114514114,ans=-1e9,a[N];
int main(){
	for(int i=1;i<=n;i++){
		a[i]=read();
	}
	for(int i=1;i<=n;i++){
		ans=max(ans,a[i]-minn);
		minn=min(minn,a[i]);
	}
	cout<<ans;
	return 0;
}

评论

1 条评论,欢迎与作者交流。

正在加载评论...