Pagini recente » Cod sursa (job #633224) | Cod sursa (job #2390882) | Cod sursa (job #2084877) | Cod sursa (job #333970) | Cod sursa (job #1943759)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
int v[100],n,x;
ifstream input("cautbin.in");
ifstream output("cautbin.out");
int binarys0(int left, int right, value)
{
int middle = (left+right)/2;
if (value==v[middle])
return m;
else
if (left<right)
if (value < v[middle])
binarys0(left, middle-1,value);
else
binarys0(middle+1, right), value;
else
return -1;
}
int binarys1(int left, int right, int value)
{
int middle;
int n = u;
while(left < right){
middle = (left + right)/2;
if (v[middle] <= value)
left = middle + 1;
else
right = middle;
}
middle = (left + right)/2;
if (v[middle] > value)
middle--;
return middle;
}
int binarys2(int left, int right, int value)
{
int middle;
int n = u;
while(left < right){
middle = (left + right)/2;
if (v[middle] <= value)
left = middle + 1;
else
right = middle;
}
middle = (left + right)/2;
if (v[middle] > value)
middle++;
return middle;
}
int main()
{
int m;
input >> n;
for(int i=0;i<n;++i)
input >> v[i];
input >> m;
for(int i=0;i<m;++i){
int a,b;
input >> a >> b;
if (a == 0)
output << binarys0(0,n-1,b);
if (a == 1)
output << binarys1(0,n-1,b);
if (a == 2)
output << binarys2(0,n-1,b);
}
}