【求救贴】 全re?????
查看原帖
【求救贴】 全re?????
378520
河上的九酱楼主2021/1/20 20:44

写了个二分,结果re了? 测试点明明运行的好好地。。。。。。。

Code:

#include<bits/stdc++.h>
#define ll long long
#define gc() getchar()
#define ull unsigned long long
#define IL inline
#define Re register
using namespace std;

int re() {
	int ret=0,f=1;
	char ch=getchar();
	while(ch>'9'||ch<'0') {
		if(ch=='-')f=-f;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9') ret=ret*10+ch-'0',ch=getchar();
	return ret*f;
}
int t;
int n,m;
int a[10001];

int  search() {
	int l=1;
	int r=n;

	while(l<=r) {
		int mid=(l+r)/2;
		if(a[mid]>t) {
			r=mid-1;
		}
		if(a[mid]<t) {
			l=mid+1;
		}
		if(a[mid]==t) {
			while(a[mid-1]==a[mid]&&a[mid]!=0)
			{
				mid--;
			}
			return 	mid;
		}
	}
	return -1;
}

int main() {
	cin>>n>>m;
	for(int i=1; i<=n; i++)cin>>a[i];
	for(int i=1; i<=m; i++) {
		t=re();
		cout<<search()<<" ";
	}
	return 0;
}

请大佬援助!

2021/1/20 20:44
加载中...