2 solutions

  • 2
    @ 2024-10-7 9:33:20
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    int a[N];
    int main()
    {
        int n;
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        int q;
        cin>>q;
        for(int i=1;i<=q;i++)
        {
            int x;
            cin>>x;
            int l=1,r=n;
            while(l<r)
            {
                int mid=(l+r+1)/2;
                if(a[mid]<=x) l=mid;
                else r=mid-1;
            }
            if(a[r]!=x) cout<<-1<<" ";
            else cout<<r<<" ";
        }
        return 0;
    }
    
    • 0
      @ 2026-8-24 19:39:23
      #include<bits/stdc++.h>
      using namespace std;
      int n,a[100005];
      int main()
      {
      	cin>>n;
      	for(int i=1;i<=n;i++){
      		cin>>a[i];
      	}
      	int e;cin>>e;
      	for(int i=1;i<=e;i++){
      		int x;cin>>x;
      		int l=1,r=n;
      		while(l<r){
      			int mid=(r+l+1)/2;
      			if(a[mid]<=x) l=mid;
      			else          r=mid-1;
      		}
      		if(a[l]==x)
      			cout<<l<<" ";
      		else
      			cout<<"-1"<<" ";
      	}
      
      	return 0;
      }
      
      • 1

      Information

      ID
      139
      Time
      1000ms
      Memory
      128MiB
      Difficulty
      3
      Tags
      (None)
      # Submissions
      101
      Accepted
      41
      Uploaded By