tjut 3578
2016-09-12 20:25
309 查看
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; int a[2005],dp[105][4005]; int main(){ //dp[i][j]表示到第i个物品,两个数差值是j时 int t,i,j,n,ans,cas,sign; //和的最大值 scanf("%d",&t); for(cas=1;cas<=t;cas++){ scanf("%d",&n); memset(dp,-1,sizeof(dp)); ans=sign=0; for(i=0;i<=n;i++) dp[i][2000]=0; for(i=1;i<=n;i++){ scanf("%d",&a[i]); if(a[i]==0) //有0一定不会输出-1 sign=1; } for(i=1;i<=n;i++){ for(j=0;j<=4000;j++) dp[i][j]=dp[i-1][j]; for(j=0;j<=4000;j++){ if(dp[i-1][j]!=-1){ //由上面转移,转移的状态很简单 dp[i][j-a[i]]=max(dp[i][j-a[i]],dp[i-1][j]+a[i]); dp[i][j+a[i]]=max(dp[i][j+a[i]],dp[i-1][j]+a[i]); } } if(dp[i][2000]!=0) ans=max(ans,dp[i][2000]/2); } if(sign==0&&ans==0) printf("Case %d: -1\n",cas); else printf("Case %d: %d\n",cas,ans); } return 0; }
相关文章推荐
- 在DirectX 中进行2D渲染
- c++中自增(++)和自减(--)操作符
- 网络流SAP+GAP模板
- PL/SQL developer的配置方法
- windows 2008 R2 系统加固
- 用GDAL/OGR去读shapefile
- 回车实现Tab跳转 金额文本框 省市联动选择 歌曲选择的实现
- ubuntu16.04 搭建LAMP环境(为laravel做准备)
- 〖NOIP2006T〗能量项链
- 深入理解内部类
- nginx学习(十一)——nginx的配置系统7之if
- vim编译器
- Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds. If the server require
- C/C++输入输出函数(I/O)总结
- Android时遇到R.java was modified manually! Reverting to generated version!
- Android时遇到R.java was modified manually! Reverting to generated version!
- vue.js入门
- Jstorm调度定制化接口(0.9.5 及高版本)
- HDU 5874 Friends and Enemies
- poj-【2115 C Looooops】