Pagini recente » Cod sursa (job #659481) | Cod sursa (job #1606607) | Cod sursa (job #1708988) | Cod sursa (job #347526) | Cod sursa (job #1396414)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,i,j,nr,b,d,v[100001],m,lo,hi,mid,a,p;
bool ok;
int main()
{
fin >> n;
for(i = 1; i <= n; ++i)
fin >> v[i];
fin >> m;
for(i = 1; i <= m; ++i)
{
fin >> a >> b;
switch(a)
{
case 0 :{
d = upper_bound(v + 1, v + n + 1, b)-v-1;
if (d <= n && d >= 1 && v[d] == b)
fout << d << '\n';
else fout << -1 << '\n';
break;
}
case 1: {
d = lower_bound(v + 1, v + n + 1, b+1) - v - 1;
fout << d << '\n';
break;
}
case 2: {
d = upper_bound(v + 1, v + n + 1, b-1) - v;
fout << d << '\n';
break;
}
}
}
return 0;
}