#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#define M 1005
int str[M],P[M];
using namespace std;
int main()
{
int T;
while(scanf("%d",&T)!=EOF,T)
{
memset(str,0,sizeof(str));
memset(P,0,sizeof(P));
int i,j,ans=0;
for(i=1;i<=T;i++)
scanf("%d",&P[i]);
ans=P[1];
for(i=1;i<=T;i++)
{
str[i]=P[i];
for(j=1;j<=i;j++)
{
if(P[j]<P[i])
str[i]=max(str[i],str[j]+P[i]);
}
ans=max(ans,str[i]);
}
printf(&
动态规划之杭电1087
最新推荐文章于 2020-12-20 02:14:02 发布
这是一个使用C++解决杭电1087问题的动态规划程序。通过输入整数T,程序计算每轮的最大值,并在循环中更新答案。动态规划的关键在于状态转移方程,通过比较当前元素与前元素的关系,计算最优解。
摘要由CSDN通过智能技术生成