Pagini recente » Profil Ruxandra985 | Istoria paginii runda/sfsdfs | Istoria paginii utilizator/adelincrestus | Diferente pentru documentatie/textile intre reviziile 107 si 10 | Cod sursa (job #2211364)
#include<bits/stdc++.h>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
const int N_max =100001;
int v[N_max],n,p;
int main()
{
int i,m,cod,x;
f>>n;
for(i=1;i<=n;++i)
f>>v[i];
f>>m;
for(i=1;i<=m;++i)
{
f>>cod>>x;
switch(cod)
{
case 0:
p=upper_bound(v+1,v+n+1,x)-v;
p--;
if(v[p]==x)
g<<p<<"\n";
else
g<<"-1\n";
break;
case 1:
p=upper_bound(v+1,v+n+1,x)-v;
p--;
g<<p<<"\n";
break;
case 2:
p=lower_bound(v+1,v+n+1,x)-v;
g<<p<<"\n";
break;
}
}
return 0;
}