1 solutions

  • 0
    @ 2024-12-11 0:09:07

    C++ :

    #include<iostream>
    using namespace std;
    const int max1=1000000;
    int a[max1],n,m;
    int  flag;
    int search(int ,int, int );
    int main()
    {  
    	cin>>n;
    	for (int i=1; i<=n; ++i) cin>>a[i];
    	cin>>m;
    	flag=search(1,n,m);
    	if (flag>0) cout<<"YES"<<endl;
    		else  cout<<"NO"<<endl;
    	//cout<<flag<<endl;
    	return 0;
    }
    int  search(int l,int r,int m)
    {
    	int mid=(l+r)/2;
    	if (l>r) return -1;
    		else if (a[mid]==m) return mid;	
    			else if (a[mid]<m) 
    				return search(l,mid-1,m);
    			else return search(mid+1,r,m);
    }
    
    

    Pascal :

    program  binsearch;
    var a:array[1..100000] of longint;
        i,n,x,f:longint;
     function binsearch(k:longint):longint;
      var low,hig,mid:longint;
      begin
        low:=1;hig:=n;
        mid:=(low+hig) div 2;
            while (a[mid]<>k) and (low<=hig) do begin
                if a[mid]<k then hig:=mid-1
            else low:=mid+1;
          mid:=(low+hig) div 2;
            end;
        if low>hig then mid:=0;
        binsearch:=mid;
        end;
    begin
      readln(n);
      for i:=1 to n do read(a[i]);
      readln(x);
      f:=binsearch(x);
      if f>0 then writeln('YES') else writeln('NO');
    end.
    

    Java :

    import java.util.*;
    public class Main{
    	public static void main(String[] args) {
    		Scanner input=new Scanner(System.in);
    		int n=input.nextInt();
    		int []a=new int[n];
    		for(int i=0;i<n;i++) {
    			a[i]=input.nextInt();
    		}
    		int tar=input.nextInt();
    		
    		if(tar==binseach(0,tar,a.length-1, a)) {
    			System.out.println("YES");
    		}else {
    			System.out.println("NO");
    		}
    		
    	}
    	public static int binseach(int st,int tar,int end,int []a) {
    		if(st>end) {
    			return -1;
    		}
    		int mid=0;
    		mid=(st+end)/2;
    
    		if(a[mid]>tar) {
    			st=mid+1;
    			return binseach(st, tar, end, a);
    		}
    		if(a[mid]<tar) {
    			end=mid-1;
    			return binseach(st, tar, end, a);
    		}else {
    			return a[mid];
    		}
    		
    	}
    }
    
    • 1

    Information

    ID
    670
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    10
    Tags
    # Submissions
    4
    Accepted
    2
    Uploaded By