关注
//划分数组成两部分,和相等
//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;
}
查看原帖
点赞 评论
相关推荐
查看23道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# mt对你说过最有启发的一句话 #
20452次浏览 255人参与
# 机械/制造每日一题 #
79361次浏览 1403人参与
# 秋招被挂春招仍然能投的公司 #
3287次浏览 51人参与
# 工作以后,你父母对你啥态度 #
21821次浏览 160人参与
# 摸鱼被leader发现了怎么办 #
86733次浏览 580人参与
# 求职遇到的搞笑事件 #
151082次浏览 881人参与
# 秋招特别不鸣谢 #
9048次浏览 128人参与
# 什么是优秀的实习经历 #
4463次浏览 158人参与
# 今年秋招你收到了多少封邮件? #
13028次浏览 170人参与
# 工作中遇到的歹人 #
17780次浏览 230人参与
# 选实习,你更看重哪方面? #
7255次浏览 160人参与
# 2025,我想...... #
80036次浏览 635人参与
# 工作后,你落下了哪些病根 #
7644次浏览 156人参与
# 被上班搭子“传染”了哪些习惯 #
3332次浏览 76人参与
# 找工作有哪些冷知识 #
202264次浏览 2580人参与
# 实习简历求拷打 #
727次浏览 22人参与
# 打工人的精神状态 #
122121次浏览 1419人参与
# 晒晒你的元宵动态 #
40657次浏览 277人参与
# 考研失败就一定是坏事吗? #
166143次浏览 1220人参与
# 工作后明白的那些道理 #
42342次浏览 645人参与