HDU 2578(二分查找)
2015-12-04 18:26
375 查看
686MS
#include <iostream> #include <cstdlib> #include <cstdio> #include <algorithm> using namespace std; int a[100010]; int n; bool bsearch(int key) { int lo = 0,hi = n-1,mid = lo+(hi-lo)/2; while(lo<=hi) { if(key==a[mid]) return true; else if(key >a[mid]) { lo = mid+1; mid = lo+(hi-lo)/2; } else { hi = mid-1; mid =lo+(hi-lo)/2; } } return false; } int main() { int t,m,i; scanf("%d",&t); while (t--) { scanf("%d%d",&n,&m); for(i = 0;i<n;i++) scanf("%d",&a[i]); int count = 0; sort(a,a+n); for(i = 0;i<n;i++) { if(a[i]>m/2) break; if(a[i] == a[i-1]) continue; if(2*a[i]==m) count++; else if(bsearch(m-a[i])) count+=2; } printf("%d\n",count); } return 0; }
相关文章推荐
- C++直接初始化和复制初始化2
- C++直接初始化和复制初始化1
- AsyncActivity异步加载网页
- 4.ROS在Pcduino上的安装
- android-studio开发NDK错误记录:bash: ../../build/intermediates/classes/debug: is a directory
- 码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清的区别
- C语言之字符串
- js 倒计时
- 安装hadoop-2.3.0-cdh5.1.2全过程
- 架构之路(八)从CurrentUser说起
- 蛇形矩阵
- 交叉编译环境学习(编译Android上的可执行程序)
- 【C语言提高24】二级指针做输入的第一种内存模型:数组指针
- Softmax回归模型
- cocoaPods,使用,Masonry,pod update,workspace,引入,框架
- linux下输出tomcat控制台信息
- 设置statusBar透明兼容4.4 / 5.x / 6.x
- php文件上传
- 2015-12-04
- 学习地址