枫原万叶 • 14天前
using namespace std; int n, a[1000005];
int findx(int left, int right, int x) {
if (left > right) {
return -1;
}
int mind = (left + right) / 2;
if (x == a[mind]) {
return mind;
}
if (x < a[mind]) {
return findx(left, mind - 1, x);
}
if (x > a[mind]) {
return findx(mind + 1, right, x);
}
}
int main() {
int ans, x;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
cin >> x;
ans = findx(0, n - 1, x);
if (ans == -1) {
cout << ans;
} else {
cout << ans + 1;
}
return 0;
}//梦想变成猫娘(我是水印)
评论:
请先登录,才能进行评论