哪里错了???
查看原帖
哪里错了???
339578
flyfish7hg楼主2020/10/20 23:32
#include <algorithm>
using namespace std;
int main()
{
	const int a=100010;
	int i;
    int n;
    cin>>n;
    long b[a];
    for (i=0;i<n;i++)
    {
	    cin>>b[i]; 
	}
	long cpy[a];
	for (i=0;i<n;i++)
    {
	    cpy[i]=b[i]; 
	}
	int q;
	cin>>q;
	long hb[a];
	for (i=0;i<q;i++)
	{
		cin>>hb[i]; 
	}
	int num;
	for (i=0;i<q;i++)
	{
		bool x(true);
    	int s=0;
    	int e=n-1;
    	int mid;
    	long data=hb[i];
    	while (true)
     	{
    		mid=(s+e)/2;
    		if (b[mid]==data)
    		{
    			x=true;
    			break;
    		}
    		if (b[mid]<data)
    		{
    			s=mid+1;
    		}
    		if (b[mid]>data)
    		{
    			e=mid-1;
    		}
    		if (s>e)
    		{
    			x=false;
    			break;
    		} 
    	}
		if (x==true)
		{
		    cout<<mid+1<<endl;	
		}
		if (x==false)
		{
			cout<<0<<endl;
		}
	}
}```
2020/10/20 23:32
加载中...