求助万能谷民赏一关~
  • 板块灌水区
  • 楼主夢蝶
  • 当前回复20
  • 已保存回复20
  • 发布时间2023/7/21 09:45
  • 上次更新2023/11/3 08:31:05
查看原帖
求助万能谷民赏一关~
1015190
夢蝶楼主2023/7/21 09:45

https://cdn.luogu.com.cn/upload/image_hosting/nfosxscr.png

题目在上

代码如下~

#include <bits/stdc++.h>
int a[1000010], ans = -1;
using namespace std;
int main() {
    int n, x;
    cin >> n;
    for(int i = 1; i <= n; i++)
        cin >> a[i];
    cin >> x;
    int l = 1, r = n, ans = -1;
    while (l <= r) {
        int mid = (l+r)/2; // 中间位置
        if (mid == a[mid]) { // 如果中间的数字等于要找的
            ans = mid;     // 记录答案位置
            l =mid;   // 局限在右区间 
        } else if (mid > a[mid]) // 如果中间的数字大于要找的
            r = mid;   // 局限在左区间
        else               // 如果中间的数字小于要找的
            l = mid;   // 局限在右区间
    }
    cout << ans; // 输出答案
}
2023/7/21 09:45
加载中...