二分超时了,求助大佬,过了50
  • 板块P1918 保龄球
  • 楼主Iorz
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/9/27 22:26
  • 上次更新2023/10/27 09:42:14
查看原帖
二分超时了,求助大佬,过了50
629466
Iorz楼主2022/9/27 22:26
#include<iostream>
#include<algorithm>
using namespace std;

const int M = 100010;
int a[M];
int vis[M];
int main(){
    int n;
    cin >> n;
    for(int i = 1 ; i <= n ; i++){
        cin >>a[i];
        vis[a[i]] = i;
    }
    sort(a+1,a+n+1);
    int op;
    cin >> op;
    while(op--){
        int temp;
        cin >> temp;
        int l = 1 , r = n;
        while(l < r){
            int mid = (l+r) /2;
            if(a[mid] < temp) l = mid + 1;
            else {
                r = mid;
            }
        }
        if(a[l] == temp) cout << vis[a[l]] << endl;
        else cout << "0\n";
    }
}
2022/9/27 22:26
加载中...