事情是这样的,我写了一个递归二分:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int a,b,n,i,j,m;
ll k;
ll A[1000009];
ll find (ll l,ll r,ll x)
{
ll mid=(l+r)/2;
if((A[mid]<x&&A[mid+1]>x)||(A[mid]>x&&A[mid-1]<x))
return -1;
if(A[mid]==x)
return mid;
else if(A[mid]>x)
return find(l,mid-1,x);
else if(A[mid]<x)
return find(mid+1,r,x);
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n>>m;
cout<<find(1,n,m);
return 0;
}
然后就爆了:
[Error] no matching function for call to '__iterator_category(int&)'
蒟蒻我无法解决
因此求助各位神犇高人