关注
测了几个样例,不知道对不对 //f[i][j]表示考虑前i个物品,两个背包的差值为j的情况下的最大重量和
//ans=f[n][0]/2 (即求出来的是最大的可能)
#include <bits/stdc++.h>
using namespace std;
int f[105][2005];
int w[105];
int main() {
int n; cin>>n;
for (int i=1; i<=n; i++) cin>>w[i];
memset(f,-1,sizeof(f));
f[0][0]=0;
for (int i=1; i<=n; i++) {
for (int j=0; j<=2000; j++) {
if (f[i-1][j]!=-1) {
f[i][j]=max(f[i][j],f[i-1][j]);
if (w[i]>j) f[i][w[i]-j]=max(f[i][w[i]-j], f[i-1][j]+w[i]);
else f[i][j-w[i]]=max(f[i][j-w[i]],f[i-1][j]+w[i]);
f[i][j+w[i]]=max(f[i][j+w[i]],f[i-1][j]+w[i]);
}
}
}
if (f[n][0]>0) cout<<f[n][0]/2<<endl;
else cout<<"Impossible"<<endl;
return 0;
}
查看原帖
点赞 2
牛客热帖
更多
正在热议
更多
# 国企秋招,你投了吗? #
24821次浏览 193人参与
# 工作后会跟朋友渐行渐远吗 #
39554次浏览 264人参与
# 携程求职进展汇总 #
622749次浏览 4569人参与
# 你的国庆怎么过 #
56086次浏览 526人参与
# 秋招感动瞬间 #
30037次浏览 288人参与
# 应届生第一份工作最好去大厂吗? #
28839次浏览 523人参与
# 乐堡互娱校招 #
33754次浏览 286人参与
# 德州仪器求职进展汇总 #
10663次浏览 160人参与
# 签约有哪些注意事项 #
47142次浏览 271人参与
# 贝壳求职进展汇总 #
30208次浏览 172人参与
# 怎么防止在试用期被辞退 #
139915次浏览 946人参与
# 4399求职进展汇总 #
31736次浏览 165人参与
# 大厂面试初体验 #
55719次浏览 265人参与
# 机械人,你拿到几个offer啦 #
47719次浏览 355人参与
# 机械人的薪资开到多少,才适合去? #
128045次浏览 472人参与
# 你会为了工作牺牲生活吗? #
46377次浏览 372人参与
# 海尔求职进展汇总 #
9811次浏览 37人参与
# 歌尔求职进展汇总 #
66978次浏览 353人参与
# 机械只有转码才有出路吗? #
141475次浏览 1630人参与
# 机械人值得去的国央企 #
78722次浏览 450人参与
# 市场营销人求职交流聚集地 #
143547次浏览 1171人参与
# ___岗狗都不干,我干! #
21389次浏览 155人参与