dp水题,不解释
#include#include using namespace std;const int maxn=1000+10;int v[maxn];long long sumv[maxn];int main(){ int n; while(~scanf("%d",&n)&&n) { int i,j; for(i=1;i<=n;i++) scanf("%d",&v[i]); memset(sumv,0,sizeof(sumv)); long long maxv=0; sumv[1]=v[1]; sumv[0]=0; for(i=2;i<=n;i++) { long long tmax=v[i]; for(j=1;j tmax) tmax=v[i]+sumv[j]; } sumv[i]=tmax; } for(i=1;i<=n;i++) if(sumv[i]>maxv) maxv=sumv[i]; printf("%I64d\n",maxv); } return 0;}