只是单纯的一个二分模板
也没有什么好讲解的
水一篇文章
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 1010;
int dp[N],a[N],n;
int HalfFind(int r,int l,int x){
int ans = -1;
while(r < l){
int mid = (l + r) / 2;
if(x == a[mid]){
ans = mid;
break;
}
if(x > a[mid]) r = mid + 1;
if(x < a[mid]) l = mid - 1;
}
if(x == a[r]) ans = r;
return ans;
}
int main(){
cin>>n;
for(int i = 1;i <= n;i++){
cin>>a[i];
}
int cnt = HalfFind(1,10,9);
cout<<cnt;
return 0;
}