Pagini recente » Cod sursa (job #1083394) | Cod sursa (job #2491994) | Cod sursa (job #470978) | Cod sursa (job #1083610) | Cod sursa (job #580700)
Cod sursa(job #580700)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int n,m,i,tip,val,x;
int v[100001];
int main()
{
in>>n;
for(i=1;i<=n;i++)
in>>v[i];
in>>m;
while(m--)
{
in>>tip>>val;
if(!tip)
{
x = upper_bound(v + 1, v + n + 1, val) - v - 1;
if (x <= n && x >= 1 && v[x] == val)
out<<x<<'\n';
else
out<<"-1\n";
}
if(tip==1)
{
x = lower_bound(v + 1, v + n + 1, val + 1) - v - 1;
out<<x<<'\n';
}
if(tip==2)
{
x = upper_bound(v + 1, v + n + 1, val - 1) - v;
out<<x<<'\n';
}
}
return 0;
}