记录编号 543791 评测结果 AAAAAAAAAA
题目名称 二分查找 最终得分 100
用户昵称 Gravatar雾茗 是否通过 通过
代码语言 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;
}