Pagini recente » Cod sursa (job #2360953) | Cod sursa (job #2654742) | Cod sursa (job #3195305) | Cod sursa (job #644393) | Cod sursa (job #1902611)
#include <fstream>
using namespace std;
ifstream in ("cautbin.in");
ofstream out ("cautbin.out");
int v[100001];
int d, s, m, n, x;
int qwer ()
{
d=n;
s=1;
while (s <= d)
{
m = (s + d) / 2;
if (v[m] <= x)
s = m + 1;
else
d = m - 1;
}
if (v[d] == x)
return d;
else
return -1;
}
int qwer1 ()
{
d = n;
s = 1;
while (s <= d)
{
m = (s + d) / 2;
if (v[m] <= x)
s = m + 1;
else
d = m - 1;
}
return d;
}
int qwer2 ()
{
d = n;
s = 1;
while (s <= d)
{
m = (s + d) / 2;
if (v[m] >= x)
d = m - 1;
else
s = m + 1;
}
return s;
}
int main()
{
int m, k, j, i;
in >> n;
for (i = 1; i <= n; i++)
in >> v[i];
in >> m;
for (i = 1; i <= m; i++)
{
in >> k >> x;
if (k == 0)
out << qwer() << '\n';
if (k == 1)
out << qwer1() << '\n';
if (k == 2)
out << qwer2() << '\n';
}
return 0;
}