codeforces 808D
来源:互联网 发布:淘宝pos机 编辑:程序博客网 时间:2024/05/22 05:25
题目:问能否移动一位或者不移动,使得数组能分成前后两块(两个数组的和相等)
先前缀和,然后枚举每一个元素解决
#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1000100;const ll inf = 99999999999999;int n;ll sum[maxn],a[maxn];bool ok(ll x,int l,int r){ while(l<=r) { int mid=(l+r)/2; if(sum[mid]==x)return true; else if(sum[mid]<x)l=mid+1; else r=mid-1; } return false;}int main(){ cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; sum[i]=sum[i-1]+a[i]; } if(sum[n]&1) cout<<"NO"<<endl; else { ll ans=sum[n]/2; int flag=0; for(int i=1;i<=n;i++) { if(ok(ans-a[i],1,i-1)||ok(ans+a[i],i,n)) { flag=1; break; } } if(flag) cout<<"YES"<<endl; else cout<<"NO"<<endl; }}
阅读全文
1 0
- codeforces 808D
- codeforces 808D
- Codeforces 808D
- codeforces 808D
- Codeforces 808D 数组分割
- Codeforces 808D Array Division 题解
- 【Codeforces 808 D. Array Division】+ 二分
- Codeforces 808D Array Division【思维】
- CodeForces 617D CodeForces 617D
- CodeForces 101D
- CodeForces 103D
- CodeForces 222D Olympiad
- codeforces 242d
- CodeForces 111D
- 【codeforces】3D
- CodeForces 127D Password
- codeforces 257D. Sum
- Codeforces 292D
- 【概率问题】开保险箱(结论题)
- 哈夫曼编码实现
- 类型别名 联合类型 枚举类型
- 第三方 MJRefresh 下拉刷新和上拉加载
- 自适应学习会议笔记总结
- codeforces 808D
- 【Linux】 Rsyslog日志系统的应用
- main方法为什么一定是Public static void
- python 批量图片类型转换
- 传智播客-Java学习笔记day18
- VS2010/MFC:一个简易的恶作剧QQ好友的聊天轰炸机
- 域名知识科普:你的域名还安稳的待在手上吗?
- win7系统卡在修复启动界面循环,登录时提示用户被锁定。
- bzoj2241: [SDOI2011]打地鼠