关注
附上代码,求大佬指教!!!
#include <bits/stdc++.h>
// we have defined the necessary header files here for this problem.
// If additional header files are needed in your program, please import here.
using namespace std;
int a[105];
int dp[10005];
int path[105][10005];
bool vis[105];
int main()
{
// please define the C++14 input here. For example: int a,b; cin>>a>>b;;
// please finish the function body here.
// please define the C++14 output here. For example:cout<<____<<endl;
int n;
cin >> n;
int sum = 0;
for(int i=0; i<n; i++){
cin >> a[i];
sum += a[i];
vis[i] = false;
}
if(n==1 || (sum&;1)){
cout << -1 << endl;
}else{
sum = sum >> 1;
//cout << "sum = " << sum << endl;
memset(dp, 0, sizeof(dp));
memset(path, 0, sizeof(path));
for(int i=0; i<n; i++){
for(int j=sum; j>=a[i]; j--){
if(dp[j] <= dp[j-a[i]] + a[i]){
dp[j] = dp[j-a[i]] + a[i];
path[i][j] = 1;
}
}
}
if(dp[sum] != sum){
cout << -1 << endl;
}else{
cout << dp[sum] << endl;
vector<int> vec;
int i=n-1, j=sum;
while(i>=0 &;&; j>=0){
if(path[i][j]){
j=j-a[i];
vec.push_back(a[i]);
vis[i] = 1;
}
i--;
}
for(int i=vec.size()-1; i>=0; i--){
cout << vec[i] << (i == 0 ? '\n' : ' ');
}
vec.clear();
for(int i=0; i<n; i++){
if(vis[i]) continue;
vec.push_back(a[i]);
}
//sort(vec.begin(), vec.end());
for(int i=vec.size()-1; i>=0; i--){
cout << vec[i] << (i == 0 ? '\n' : ' ');
}
}
}
return 0;
}
查看原帖
点赞 评论
相关推荐
05-21 22:02
宝鸡文理学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的职场心眼子段位 #
6609次浏览 244人参与
# 生物制药/化工校招攻略 #
45462次浏览 289人参与
# 实习最想跑路的瞬间 #
6559次浏览 63人参与
# 上班到公司第一件事做什么? #
54306次浏览 449人参与
# 你找实习最大的坎坷是什么 #
5924次浏览 70人参与
# 视觉/交互/设计百问百答 #
44780次浏览 433人参与
# 你见过最离谱的招聘要求是什么? #
192547次浏览 1421人参与
# 多益网络工作体验 #
46572次浏览 257人参与
# 硬件人秋招的第一个offer #
74432次浏览 1131人参与
# 工作中的卑微时刻 #
13766次浏览 101人参与
# 我的求职精神状态 #
70478次浏览 866人参与
# 你的房租占工资的比例是多少? #
34729次浏览 517人参与
# 硬件人秋招进展 #
201672次浏览 3552人参与
# 2023毕业生求职有问必答 #
174818次浏览 1617人参与
# lastday知无不言 #
53887次浏览 447人参与
# 打工人的辛酸 #
41035次浏览 425人参与
# 牛友故事会 #
731074次浏览 14564人参与
# 大疆求职进展汇总 #
504343次浏览 3289人参与
# 当你面对裁员会如何? #
265872次浏览 2360人参与
# 打工人的精神状态 #
46628次浏览 822人参与