怎么过了样例WA64呀
查看原帖
怎么过了样例WA64呀
807120
ybc2025_11_LCH楼主2023/1/9 09:54

过样例如下

#include <stdio.h>

//const int MOST_NUM = 1e6 + 5;
long long Ask;
long long Num[1000005];
int N, M;

int main(void) {
	int Min = 0, Max, Mid, Tmp;
	scanf("%d", &N);
	for (int i = 0; i < N; ++i) scanf("%lld", &Num[i]);
	for (int i = 0; i < 1; ++i) {
		Tmp = 0;
		scanf("%lld", &Ask);
		Min = 0, Max = N;
		while (Num[Mid] != Ask) {
			++Tmp;
			Mid = (Min + Max) / 2;
			if (Num[Mid] > Ask) Max = Mid;
			else if (Num[Mid] < Ask) Min = Mid;
			if (Tmp >= 64) {
				printf("-1 ");
				goto OutSide;
			}
		}
		while (Num[--Mid] == Ask) Mid = Mid;
		++Mid;
		printf("%d ", ++Mid);
		OutSide:;
	}
	return 0;
}
2023/1/9 09:54
加载中...