关注
//划分数组成两部分,和相等
//1 1 1 1 1 false;
//1 2 3 4 true; 重点考虑
//首尾指针, 最后一种情况特殊考虑;
#include<bits/stdc++.h>
using namespace std;
int main()
{ int n; cin >> n; if(n == 1){ cout << "false" << endl; return 0; } vector<int> v; int k; for(int i = 0; i < n; ++i){ cin >> k; v.push_back(k); } sort(v.begin(), v.end()); int i = 0, j = n - 1; int iPre = 0, jPre = n-1; long long sum1 = v[0], sum2 = v[n-1]; while(i < j) { if(i != iPre) sum1 += v[i]; if(j != jPre) sum2 += v[j]; if(sum1 == sum2){ iPre = i; i++; jPre = j; j--; } else if(sum1 < sum2) { iPre = i; i++; } else { jPre = j; j--; } } if(sum1 == sum2 && i!=j ) cout << "true" << endl; else if(sum1 > sum2){ //1 2 3 4 true; 重点考虑 k = 0; while(sum1 > sum2) { sum1 -= v[k]; sum2 += v[k]; k++; } if(sum1 == sum2) cout << "true" << endl; else cout << "false" << endl; } else cout << "false" << endl; return 0;
}
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 聊聊这家公司值得去吗 #
233922次浏览 2187人参与
# kpi面有什么特征 #
32108次浏览 224人参与
# 你认为哪个岗位找工作最卷 #
12898次浏览 42人参与
# 职场人,说说你的烦心事 #
8570次浏览 71人参与
# 一人一个landing小技巧 #
79197次浏览 1125人参与
# 职场上哪些事情令人讨厌 #
16667次浏览 82人参与
# 秋招最大的收获是什么? #
33869次浏览 297人参与
# 小红书求职进展汇总 #
56108次浏览 485人参与
# 聊聊你的职场新体验 #
157457次浏览 1369人参与
# 机械制造岗投递时间线 #
22715次浏览 346人参与
# 职场吐槽大会 #
205411次浏览 1636人参与
# 研究所VS国企,该如何选 #
180611次浏览 1769人参与
# 为了找工作你投递了多少公司? #
9773次浏览 131人参与
# 大家每天通勤多久? #
42000次浏览 329人参与
# 通信硬件牛牛的实习日记 #
7163次浏览 65人参与
# 职场破防瞬间 #
234923次浏览 2125人参与
# 总结:哪家公司面试体验感最好 #
47631次浏览 338人参与
# tplink提前批进度交流 #
162730次浏览 1378人参与
# 找工作前vs找工作后的心路变化 #
9589次浏览 103人参与
# 担心入职之后被发现很菜怎么办 #
126351次浏览 754人参与