干就完事了
#include <iostream>
using namespace std;
int main()
{
cin.tie(0);
ios::sync_with_stdio(false);
int n, res;
cin >> n;
int a;
cin >> a;
for (int i = 1; i < n; i ++)
{
int b;
cin >> b;
if (a < b) res += b - a;
a = b;
}
cout << res << endl;
return 0;
}
如果第一天很贵,第二天非常便宜,那为什么一定要买第一天呢?
就我的意思是,递增区间为什么一定是第一天必买的那个递增区间,有没有可能第二天买入的递增区间呢
噢噢我傻了没看到,大佬%%%%%%%%%%%%%%
大佬看不懂,能给个解释吗qwq
为啥你能写的这么简单,看别人还用贪心啥的
由于买卖的限制只有买前卖,那么这个问题看成:假设有N天,那么可以有N-1个区间,显而易见,最优解就是所有递增区间的和
懂了,谢谢大佬(。・∀・)ノ゙
前排%%%%%%%%%
%%%%