3 条题解

  • 1
    @ 2025-9-20 14:15:26
    #include<bits/stdc++.h>
    using namespace std;
    long long a[10000000],n,x,nnn;
    int main(){
        cin >> n >> x;
        for(int i=0; i<n; i++){
            cin >> a[i];
        }
        for(int i=0; i<x; i++){
            int l=0,r=n-1,mid=0,ans=0;
            bool f=0;
            cin >> ans;
            while(l<=r){
                mid=(l+r)/2;
                if(a[mid]==ans){
                    f=1;
                    l=mid+1;
                    nnn=mid;
                }
                else if(a[mid]<ans){
                    l=mid+1;
                }
                else r=mid-1;
            }
            if(f==0){
                cout << -1 << "\n";
            }
            else cout << nnn+1 << "\n";
        }
        return 0;
    }
    
    • 0
      @ 2025-4-22 17:28:37
      #include<bits/stdc++.h>
      using namespace std;
      int main(){
      	int n,m,a[100001],b[100001],c[100005];
      	cin>>n>>m;
      	for(int i=1;i<=n;i++){
      		cin>>a[i];
      	}
      	for(int i=1;i<=m;i++){
      		cin>>b[i];
      		int l=1,r=n,ans=0;	
      	while(l<=r){
      		int mid=(l+r)/2;
      		if(a[mid]==b[i]){
      			ans=mid;
      			l=mid+1;
      		}
      		else if(a[mid]>b[i]){
      			r=mid-1;
      		}
      		else if(a[mid]<b[i]){
      			l=mid+1;
      		}
      	}
      		if(ans==0){
      			c[i]=-1;
      		}
      		else{
      			c[i]=ans;
      		}
      	}
      	for(int i=1;i<=m;i++){
      		cout<<c[i]<<endl;
      	}
      	
      
      	
      	
      	return 0;
      }
      //废物小鸟
      
      
      
      
      • 0
        @ 2024-12-17 16:32:20
        #include<bits/stdc++.h>
        using namespace std;
        int main(){
        	int n,m,a[100001],b[100001],c[100005];
        	cin>>n>>m;
        	for(int i=1;i<=n;i++){
        		cin>>a[i];
        	}
        	for(int i=1;i<=m;i++){
        		cin>>b[i];
        		int l=1,r=n,ans=0;	
        	while(l<=r){
        		int mid=(l+r)/2;
        		if(a[mid]==b[i]){
        			ans=mid;
        			l=mid+1;
        		}
        		else if(a[mid]>b[i]){
        			r=mid-1;
        		}
        		else if(a[mid]<b[i]){
        			l=mid+1;
        		}
        	}
        		if(ans==0){
        			c[i]=-1;
        		}
        		else{
        			c[i]=ans;
        		}
        	}
        	for(int i=1;i<=m;i++){
        		cout<<c[i]<<endl;
        	}
        	
        
        	
        	
        	return 0;
        }
        小鸟
        
        
        • 1

        信息

        ID
        3099
        时间
        1000ms
        内存
        256MiB
        难度
        2
        标签
        递交数
        16
        已通过
        8
        上传者