Pagini recente » Cod sursa (job #1766476) | Monitorul de evaluare | Clasament dupa rating | Cod sursa (job #20176) | Cod sursa (job #907664)
Cod sursa(job #907664)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n,m,a,k,x,v[100001];
int main ()
{
f>>n;
for(int i=1;i<=n;i++)
f>>v[i];
f>>m;
for(int i=1;i<=m;i++)
{
f>>a;
f>>k;
if(a==0)
{
x=upper_bound(v+1,v+n+1,k)-(v+1);
if(x>=1 && x<=n && v[x]==k)
g<<x<<"\n";
else
g<<"-1\n";
}
else if(a==1)
{
x=upper_bound(v+1,v+n+1,k+1)-(v+1);
g<<x<<"\n";
}
else if(a==2)
{
x=lower_bound(v+1,v+n+1,k-1)-v;
g<<x;
}
}
f.close();g.close();
return 0;
}