Dev C++ 0分,哪里有问题?
查看原帖
Dev C++ 0分,哪里有问题?
735164
pengqiushi楼主2022/7/21 20:42

代码如下:

#include<iostream>
using namespace std;
int a[1000005],sum[100005];
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=1; i<=n; i++)
		scanf("%d",&a[i]);
	for(int i=1; i<=m; i++){
		int ans;
		scanf("%d",&ans);
		int l=1,r=n,mid,p=n;
		while(l<=r){
			mid=(l+r)/2;
			if(a[mid]>ans)
				r=mid-1;
			else if(a[mid]<ans)
				l=mid+1;
			if(a[mid]==ans){
				p=mid;
				break;
			}
		}
		sum[i]=p;
	}
	int c;
	for(int i=1; i<=m; i++){
		if(sum[i]==n)
			cout<<"-1"<<" ";
		else{
			c=i;
			while(1){
				c--;
				if(sum[c]!=sum[i]);
					break;
			}
			cout<<c+1<<" ";
		}
	}
	return 0;
}
2022/7/21 20:42
加载中...