codeforcodeforces 808D——Array Division(查找,set)
来源:互联网 发布:会计电算化软件用友 编辑:程序博客网 时间:2024/06/05 15:50
对于每一个数,如果那你想要把它换到另一个部分,则对两个部分差值的改变是2*a[i]
从前往后扫一遍,再从后往前扫一遍。
每次查找能不能通过移动当前数完成,然后把差值记录
#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#include <cstring>#include <string>#include <vector>#include <map>#include <set>#include <iomanip>using namespace std;#define _ ios::sync_with_stdio(false)const int MAXN = 100010;const int INF=0x7fffffff;long long a[MAXN];long long sum=0;long long s1[MAXN];set<long long > s;int main(){int n;scanf("%d",&n);s1[0]=0;for(int i=1;i<=n;i++){scanf("%lld",a+i);sum+=a[i];s1[i]=s1[i-1]+a[i];}int ok=0;s.clear();for(int i=1;i<=n;i++){if(s.count(2*a[i])){ok=1;break;}long long x=sum-2*s1[i];if(x==0){ok=1;break;}if(x>=0)s.insert(x);}s.clear();for(int i=n;i>=1;i--){if(s.count(2*a[i])){ok=1;break;}long long x=2*s1[i]-sum;if(x==0){ok=1;break;}if(x>=0)s.insert(x);}if(ok)puts("YES");else puts("NO");}
阅读全文
0 0
- codeforcodeforces 808D——Array Division(查找,set)
- 808D Array Division
- CF 808D D. Array Division(二分)
- codeforces 808D Array Division(二分+思维)
- Codeforces 808D Array Division 题解
- 【Codeforces 808 D. Array Division】+ 二分
- cf 808D Array Division(二分思维)@
- Codeforces 808D Array Division【思维】
- codeforcodeforces 808E——Selling Souvenirs(动态规划)官方题解详解
- Educational Codeforces Round 21 D. Array Division
- Educational Codeforces Round 21 D Array Division
- Array Division
- Set Division
- codeforces Educational Codeforces Round 21 D. Array Division
- Educational Codeforces Round 21 D. Array Division(前缀和,二分)
- Sichuan State Programming Contest 2011 —— D.Division
- 【leetcode】Array—— Set Matrix Zeroes(73)
- Uva725——Division
- Ubuntu16.04 使用Graphviz画图
- springmv里面的mySQL的配置操作
- android eclipse的环境配置
- springmvc里面的mogoDB的配置操作
- Oracle 11g必须开启的服务及服务详细介绍
- codeforcodeforces 808D——Array Division(查找,set)
- 【数据结构】快速排序(QuickSortNonR)的非递归实现
- springmvc的redis的配置操作
- CentOS7 安装Nginx
- 素数平方和(类)
- springmvc的hibernate的配置操作
- 位置和传感器:传感器概览
- bzoj 3295 [Cqoi2011]动态逆序对
- spring.xml配置文件包含其他文件格式