求最大上升子序列和
#include <iostream>using namespace std;const int MAXN = 100;int arr[MAXN];int dp[MAXN];int max(int a,int b);int main(){int n;cout << "请输入序列数:" << endl;cin >> n;for(int i=0;i<
·
#include <iostream>
using namespace std;
const int MAXN = 100;
int arr[MAXN];
int dp[MAXN];
int max(int a,int b);
int main()
{
int n;
cout << "请输入序列数:" << endl;
cin >> n;
for(int i=0;i<n;++i)
{
cin >> arr[i];
}
int answer = 0;
for(i=0;i<n;i++)
{
dp[i] = arr[i];
for(int j=0;j<i;++j)
{
if(arr[i]>arr[j])
{
dp[i]=max(dp[i],dp[j]+arr[i]);
}
}
answer = max(answer,dp[i]);
}
cout << "Result : " << answer << endl;
return 0;
}
int max(int a,int b)
{
return a<b? b : a;
}
更多推荐
所有评论(0)