HDUOJ Max Sum Plus Plus Plus--1244
2016-05-18 20:06
441 查看
#include<stdio.h> #include<string.h> int dp[1005][1005]; int main () { int fw[1005][2],l[1005],num[1005]; int i,j,k,s,n,m; while(scanf("%d",&n)&&n!=0) { scanf("%d",&m); for(s=0,i=1;i<=m;i++) { scanf("%d",&l[i]); fw[i][0]=s+1; s+=l[i]; } for(s=0,i=m;i>=1;i--) { fw[i][1]=n-s; s+=l[i]; } for(i=1;i<=n;i++) scanf("%d",&num[i]); memset(dp,0,sizeof(dp)); for(i=1;i<=m;i++) { s=0; for(j=fw[i][0];j<=fw[i][1];j++) { if(j-fw[i][0]+1<=l[i]) { s+=num[j]; //printf("%d ",s); if(j-fw[i][0]+1==l[i]) { if(dp[i][j]<s+dp[i-1][j-l[i]]) for(k=j;k<=n;k++) dp[i][k]=dp[i-1][j-l[i]]+s; } } else { s+=num[j]; s-=num[j-l[i]]; if(dp[i][j]<s+dp[i-1][j-l[i]]) for(k=j;k<=n;k++) dp[i][k]=dp[i-1][j-l[i]]+s; } } } printf("%d\n",dp[m] ); } return 0; }
相关文章推荐
- commons-httpclient 3.x如何按照host单独配置连接数和超时参数
- Java中异常机制的意义
- 绿盟面试
- ProgressBar-进度条案例
- js对象与jquery之间的转换
- 三日NJU
- 深入Spring:自定义事务管理
- bzoj 3670(KMP)
- 用两个队列实现栈
- 写给当下的自己!!!
- HDU-1233-畅通工程(并查集)
- 初学jQuery就遇到问题
- MYSQL使用正则表达式过滤数据
- 用两个栈实现队列
- 简单判断某个数是不是2或3的n次幂
- 初识博客,为我的学习之路留下足迹~
- phpize Cannot find autoconf. 错误解决
- 编写并运行嵌入式环境Qt版本的Hello world
- 定义一个Activity类型的dialog
- boost--timer库笔记