求助
  • 板块灌水区
  • 楼主lsb20100128
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/22 19:26
  • 上次更新2023/12/22 21:34:43
查看原帖
求助
1034657
lsb20100128楼主2023/12/22 19:26

P2249,哪里错了?

#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[1000005];
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	for(int j=1;j<=m;j++){
		int s; scanf("%d",&s);
		int l=1,r=n;
		int mid;
		while(l<r){
			mid=(l+r)>>1;
			if(a[mid]>=s){
				r=mid;
			}else{
				l=mid+1;
			}
		}
		if(a[l]==s){
			for(int i=l-1;i>=0;i--){
				if(a[i]!=s){
					printf("%d ",i+1);
					break;
				}
			}
		}else{
			printf("-1 ");
		}
	}
}
2023/12/22 19:26
加载中...