Pagini recente » Cod sursa (job #1999629) | Cod sursa (job #2705374)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("cautbin.in");
ofstream g ("cautbin.out");
long long A[500001], i, ok, n, x, st, dr, mij, z;
int main()
{
f >> n >> x;
for (i = 1; i <= n; i++) f >> A[i];
f >> z;
st = 1;
dr = n;
if (z == 0)
{
while (st <= dr)
{
mij = (st + dr) / 2;
if (x >= A[mij]) st = mij + 1;
else dr = mij - 1;
}
if (A[st - 1] == x) g << st - 1 << '\n';
else g << -1 << '\n';
}
else if (z == 1)
{
while (st <= dr)
{
mij = (st + dr) / 2;
if (x >= A[mij]) st = mij + 1;
else dr = mij - 1;
}
g << st - 1 << '\n';
}
else if (z == 2)
{
while (st <= dr)
{
mij = (st + dr) / 2;
if (x <= A[mij]) dr = mij - 1;
else st = mij + 1;
}
g << dr + 1 << '\n';
}
return 0;
}