| 记录编号 | 543791 | 评测结果 | AAAAAAAAAA | 
    
        | 题目名称 | 3209.二分查找 | 最终得分 | 100 | 
    
        | 用户昵称 |  雾茗 | 是否通过 | 通过 | 
    
        | 代码语言 | C++ | 运行时间 | 0.005 s | 
    
        | 提交时间 | 2019-10-10 10:18:06 | 内存使用 | 13.92 MiB | 
    
    
    
    		显示代码纯文本
		
		#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#define d 100000
using namespace std; 
int main()
{
	freopen("binary1.in","r",stdin);
	freopen("binary1.out","w",stdout); 
	int n,a[d],target;
	cin>>n;
	int maxa,mina;
	for(int i=1;i<=n;++i)
		cin>>a[i],maxa=max(a[i],maxa),mina=min(mina,a[i]);//修改 
	cin>>target;
	if(target<mina||target>maxa){//修改 
		cout<<"NO";//修改 
		return 0;//修改 
	}//修改 
	int left,right,mid;
	left=1;
	right=n;
	while(left<=right)
	{
		int mid=(left+right+1)/2;//修改 
		if(a[mid]==target)//修改 
		{
			cout<<"YES";//修改 
			return 0;//修改 
		}
		else
			if(a[mid]>=target)//修改 
				right=mid-1;
			else
				left=mid;//修改 
				//修改 
	}
	cout<<"NO";//修改 
	return 0;
}