Pagini recente » Cod sursa (job #2904022) | Cod sursa (job #1601916) | Cod sursa (job #1144839) | Cod sursa (job #1330628) | Cod sursa (job #401289)
Cod sursa(job #401289)
#include <algorithm>
#include <vector>
using namespace std;
#define pb push_back
vector <int> v;
int n,m;
void read ()
{
int i,x;
scanf ("%d",&n);
for (i=1; i<=n; ++i)
{
scanf ("%d",&x);
v. pb (x);
}
}
void query ()
{
int i,tip,x,y;
scanf ("%d",&m);
for (i=1; i<=m; ++i)
{
scanf ("%d%d",&tip,&x);
if (tip==0)
{
y=upper_bound (v.begin (),v.end (),x)-v.begin ()-1;
if (v[y]==x)
printf ("%d\n",y+1);
else
printf ("-1\n");
}
else if (tip==2)
{
y=lower_bound (v.begin (),v.end (),x)-v.begin ();
printf ("%d\n",y+1);
}
else
{
y=upper_bound (v.begin (),v.end (),x)-v.begin ()-1;
printf ("%d\n",y+1);
}
}
}
int main ()
{
freopen ("cautbin.in","r",stdin);
freopen ("cautbin.out","w",stdout);
read ();
query ();
return 0;
}