Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
111083 陈志轩 买卖股票的最佳时机 C++ 通过 100 1 MS 2040 KB 651 2023-11-18 10:11:28

Tests(3/3):


#include<bits/stdc++.h> #define int long long using namespace std; int dp[114514][2],a[114514]; signed main(){ int n; cin>>n; for (int i = 1;i <= n;i++){ cin>>a[i]; } memset(dp,-0x7f7f7f7f,sizeof(dp)); dp[1][1] = -a[1]; dp[1][0] = 0; for (int i = 2;i <= n;i++){ dp[i][1] = -a[i]; dp[i][0] = 0; for (int j = 1;j < i;j++){ if (a[i] >= a[j]){ dp[i][0] = max(dp[i][0],dp[j][1] + a[i]); } if (a[i] <= a[j]){ dp[i][1] = max(dp[i][1],dp[j][0] - a[i]); } dp[i][0] = max(dp[i][0],dp[j][0]); dp[i][1] = max(dp[i][1],dp[j][1]); } //cout<<dp[4][1]<<'\n'; } cout<<dp[n][0]; return 0; }


测评信息: