hdu 2141(二分查找,合并数组)
来源:互联网 发布:微信小视频插图软件 编辑:程序博客网 时间:2024/06/05 19:30
http://acm.hdu.edu.cn/showproblem.php?pid=2141
#include <iostream>//2141...2199...2899...2578#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <vector>#include <list>#include <cstdlib>#define LL long long#define M 510using namespace std;int top[3],a[M],b[M],c[M],d[500000],s;int main(){ int cas=0; while(scanf("%d%d%d",&top[0],&top[1],&top[2])!=EOF) { for(int i=0; i<top[0]; i++) scanf("%d",&a[i]); for(int i=0; i<top[1]; i++) scanf("%d",&b[i]); for(int i=0; i<top[2]; i++) scanf("%d",&c[i]); int k=0; for(int i=0;i<top[0];i++) for(int j=0;j<top[1];j++) d[k++]=a[i]+b[j]; sort(d,d+k); printf("Case %d:\n",++cas); scanf("%d",&s); while(s--) { int x; scanf("%d",&x); bool flag=false; for(int i=0; i<top[0]; i++) { int l=0,r=k-1; while(l<r) { int mid=l+(r-l)/2; if(d[mid]+c[i]>x) { r=mid; } else if(d[mid]+c[i]<x) { l=mid+1; } else { flag=true;break; } } if(flag||d[l]+c[i]==x||d[r]+c[i]==x) { flag=true; break; } } if(flag) printf("YES\n"); else printf("NO\n"); } } return 0;}
0 0
- hdu 2141(二分查找,合并数组)
- hdu 2141 Can you find it? 二分查找 + 数组合并
- 二分查找、数组合并
- hdu(4339)树状数组+二分查找
- 二分查找(HDU 2141 )
- HDU-2141(二分查找)
- hdu 2141 二分查找
- hdu 2141 二分查找
- HDU 2141 二分查找
- HDU 2141 二分查找
- HDU 2141 二分查找
- HDU KiKi's K-Number (树状数组+二分查找)
- hdu2241(二分+合并数组)
- HDU 4217 树状数组+二分查找
- [HDU](2141)Can you find it? ---二分查找(查找)
- HDU 2871 Memory Control 线段树(区间合并)+二分查找+vector的常用方法
- HDU 2871——Memory Control(线段树,区间合并+vector+二分查找)
- 旋转数组(二分查找)
- 购物车功能抛物线轨迹
- ref和out的使用与区别
- 第十一周 阅读项目 4 问题二 构造函数调用的先后问题系统会自动帮你调整但是不提倡。
- hdu 2899(方程题,二分查找)
- 浅谈模式识别中的特征提取
- hdu 2141(二分查找,合并数组)
- 微观SOA:服务设计原则及其实践方式(下篇)
- 一则线上MySql连接异常的排查过程
- [web安全] 文件包含漏洞
- comet反向ajax
- hdu1207汉诺塔II
- Android Studio 中 Gradle 的使用方法及gradle介绍
- 你的flume-ng的第一篇博客
- 常用类String常用的方法