作者 龚雄兴
单位 湖北文理学院
给定一个正整数数组,它的第 i 个数表示特定股票第 i 天的价格(这里显然讲的是事后推测)。请编写程序,计算不限制买卖次数(但卖出后才能够再买进)时可获得的最大利润。
输入格式:
第一行一个正整数N,表示数组的元素个数。第二行是空格分隔的N个正整数,表示每天的价位。
输出格式:
一个整数,表示买卖多次的最大利润
输入样例:
11
1 3 2 8 4 9 7 9 7 9 7
输出样例:
进行5次买卖(3-1+8-2+9-4+9-7+9-7=17),最大利润17。
17
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
C++代码:
#include<bits/stdc++.h>
using namespace std;
int piece[100];
int main() {
int n;
int num = 0;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> piece[i];
}
for (int i = 0; i < n - 1; i++) {
num += max(0, piece[i + 1] - piece[i]);
}
cout << num;
return 0;
}