3 条题解

  • 1
    @ 2025-4-26 21:22:01

    1000分,拿走

    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    const int INF=0x3f3f3f3f;
    #define LL long long
    #define ull unsigned long long
    int n,m,a[N],ub[114514];
    'int main(){
    	int anser[594088],sum;
    	cin>>n>>m;
    	for(int i=1;i<=n;i++){
    		cin>>a[i];
    	}
    	for(int i=1;i<=m;i++){
    		cin>>ub[i];
    		int l=1,r=n;
    		sum=0;	
    	while(l<=r){
    		int mid=(l+r)/2;
    		if(a[mid]==ub[i])'{
    			sum=mid;
    			r=mid-1;
    		}
    		else if(a[mid]>ub[i]){
    			r=mid-1;
    		}
    		else{
    			l=mid+1;
    		}
    	}
    		if(sum){
    			anser[i]=sum;
    		}
    		else{
    			anser[i]=-1;
    		}
    	}
    	for(int i=1;i<=m;i++){
    		cout<<anser[i]<<endl;
    	}	
    	return 1;
    }                            '   
    
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    const int INF=0x3f3f3f3f;
    #define LL long long
    #define ull unsigned long long
    int n,m,a[N],ub[114514];
    int main(){
    	int ans[594088],sum;
    	cin>>n>>m;
    	for(int i=1;i<=n;i++){
    		cin>>a[i];
    	}
    	for(int i=1;i<=m;i++){
    		cin>>ub[i];
    		int l=1,r=n;
    		sum=0;	
    	while(l<=r){
    		int mid=(l+r)/2;
    		if(a[mid]==ub[i]){
    			sum=mid;
    			r=mid-1;
    		}
    		else if(a[mid]>ub[i]){
    			r=mid-1;
    		}
    		else{
    			l=mid+1;
    		}
    	}
    		if(sum){
    			ans[i]=sum;
    		}
    		else{
    			ans[i]=-1;
    		}
    	}
    	for(int i=1;i<=m;i++){
    		cout<<ans[i]<<endl;
    	}	
    	return 0;
    }
    点赞收藏!!!!                               
    

    阿妈特拉斯

    • @ 2025-4-26 21:33:15

      不长不短会变成都不会补充蛋白和传播 嘻嘻嘻

  • -2
    @ 2025-4-22 19:16:13

    不长不短会变成都不会补充蛋白和传播

    • -3
      @ 2024-12-17 16:24:38
      #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;
      			r=mid-1;
      		}
      		else if(a[mid]>b[i]){
      			r=mid-1;
      		}
      		else{
      			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
      3098
      时间
      1000ms
      内存
      256MiB
      难度
      2
      标签
      递交数
      83
      已通过
      16
      上传者