关注
01背包问题。将数组划分为两部分,要求两部分的和的之差绝对值最小。
#include <bits/stdc++.h>
using namespace std;
int dp[210000];
int n,arr[51];
int main()
{
int n;
scanf("%d",&n);
int sum = 0;
for(int i = 0 ; i < n ; i ++){
scanf("%d",&arr[i]);
arr[i] /= 1024;
sum += arr[i];
}
for(int i = 0 ; i < n ; i ++)
for(int j = sum/2 ; j >= arr[i] ; --j)
dp[j] = max(dp[j],dp[j-arr[i]]+arr[i]);
printf("%d\n",(sum-dp[sum/2])*1024);
return 0;
}
/*
5
3072 3072 7168 3072 1024
*/
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
08-28 19:30
蚌埠坦克学院 Java 
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 一觉醒来,穿越回国庆前 #
1747次浏览 12人参与
# 你找工作的时候用AI吗? #
148415次浏览 805人参与
# 携程求职进展汇总 #
643718次浏览 4670人参与
# 机械制造公司评价 #
142505次浏览 324人参与
# 如果没找到工作,考公是你的退路吗 #
51455次浏览 410人参与
# 面试等了一周没回复,还有戏吗 #
154609次浏览 1306人参与
# 深信服秋招来了 #
274136次浏览 2905人参与
# 机械人求职现状 #
25529次浏览 274人参与
# 京东美团大战,你怎么看? #
130355次浏览 738人参与
# 金融财经春招备战日记 #
32436次浏览 189人参与
# 中广核工作体验 #
19262次浏览 65人参与
# 校招入职后的感受 #
385183次浏览 3285人参与
# 工作两年想退休了 #
168199次浏览 1493人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
38374次浏览 499人参与
# 你有没有为省钱「拼过命」 #
24185次浏览 226人参与
# 非技术岗投递进展 #
156457次浏览 1312人参与
# 牛油的搬砖plog #
114959次浏览 839人参与
# 26届的你,投了哪些公司? #
198705次浏览 1263人参与
# 央国企投递记录 #
113172次浏览 1455人参与
# 应届生,你找到工作了吗 #
66936次浏览 452人参与
# 你的实习什么时候入职 #
308134次浏览 2133人参与
# 非技术er求职现状 #
103546次浏览 680人参与