HDU1087(动态规划)

来源:互联网 发布:java处理高并发问题 编辑:程序博客网 时间:2024/06/15 22:19
#include <cstdio>#include <iostream>using namespace std;int main(){while (1){  int dp[1005]={0};//dp[n]表示以A[n]结尾的jump solution最大值  int n;  scanf("%d",&n);  if (!n)  break;  int i,j;  int A[1005];  for (i=0;i<=n-1;i++)  scanf("%d",&A[i]);  dp[0]=A[0];  int maxn=dp[0];  for (i=1;i<=n-1;i++)  {  dp[i]=A[i];  for (j=0;j<=i-1;j++)  {  if (A[i]>A[j] && dp[j]+A[i]>dp[i])  dp[i]=dp[j]+A[i];  }  if (dp[i]>maxn)  maxn=dp[i];  }  printf("%d\n",maxn);}return 0;}

原创粉丝点击