Pagini recente » Cod sursa (job #1091082) | Cod sursa (job #1929370) | Cod sursa (job #2060292) | Cod sursa (job #704907) | Cod sursa (job #1932939)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("cautbin.in.txt");
ofstream g("cautbin.out.txt");
int cautbin1 (int x,int n,int a[])
{
int ls = 1,ld=n;
int m;
while (ls <=ld)
{
m = ls + (ld-ls)/2;
if (a[m] <=x) ls=m+1;
else ld = m-1;
}
if (a[m]<=x) return m;
return m-1;
}
int cautbin2 (int x,int n,int a[])
{
return cautbin1(x,n,a);
}
int cautbin3 (int x,int n,int a[])
{
return cautbin1(x-1,n,a)+1;
}
int main()
{
int n,x;
f>>n;
int a[n];
for (int i=1; i<=n; i++) f >> a[i];
int intr,tip;
f >> intr;
while (intr-- >0)
{
f >> tip >> x;
if (tip == 0) g << cautbin1(x,n,a) << '\n';
if (tip == 1) g << cautbin2(x,n,a) << '\n';
if (tip == 2) g << cautbin3(x,n,a) << '\n';
}
return 0;
}