过样例如下
#include <stdio.h>
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;
}