AcWing 4956. 冶炼金属
原题链接
简单
作者:
修仙修仙
,
2024-03-01 19:05:30
,
所有人可见
,
阅读 19
#include <iostream>
using namespace std;
const int N=1e5+5;
int n,a[N],x;
void two (int l,int r)
{
while (l<r)
{
int mid =(l+r)>>1;
if (a[mid]>=x)
r=mid;
else l=mid+1;
}
if (a[l]==x)
cout<<l-1;
else cout<<"-1";
cout<<' ';
}
void twoo(int l,int r)
{
while (l<r)
{
int mid=(l+r+1)>>1;
if(a[mid]<=x) l=mid;
else r=mid-1;
}
if (a[l]==x)
cout<<l-1;
else cout<<"-1";
puts("");
}
int main ()
{ int q;
cin>>n>>q;
for (int i=1;i<=n;i++)
cin>>a[i];
while (q--)
{
cin>>x;
two (1,n);
twoo(1,n);
}
}