关注
//划分数组成两部分,和相等
//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;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-09 20:23
北京科技大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 聊聊这家公司值得去吗 #
226095次浏览 2130人参与
# 硬件人你反向读研了吗 #
41645次浏览 629人参与
# 为了找工作你投递了多少公司? #
6835次浏览 86人参与
# 工作一周年分享 #
26674次浏览 126人参与
# 一人一个landing小技巧 #
77307次浏览 1106人参与
# kpi面有什么特征 #
28664次浏览 153人参与
# 入职第一天,你准备什么时候下班 #
54874次浏览 350人参与
# 小米提前批笔试难吗 #
33175次浏览 352人参与
# 正在实习的你,几点下班 #
156391次浏览 1086人参与
# 担心入职之后被发现很菜怎么办 #
126035次浏览 749人参与
# 一人推荐一个机械人值得去的公司 #
403270次浏览 4137人参与
# 毕业论文怎么查AI率 #
43067次浏览 1891人参与
# 夸夸我的求职搭子 #
192237次浏览 1898人参与
# 校招入职后的感受 #
275000次浏览 2669人参与
# 投格力的你,拿到offer了吗? #
82495次浏览 573人参与
# Tplink求职进展汇总 #
130366次浏览 728人参与
# 体制内上岸心路历程 #
26572次浏览 212人参与
# 华为池子有多大 #
87627次浏览 689人参与
# 产品每日一题 #
43564次浏览 563人参与
# tplink提前批进度交流 #
162392次浏览 1375人参与