Cod sursa(job #2044956)

Utilizator grecubogdanGrecu Bogdan grecubogdan Data 21 octombrie 2017 17:14:46
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int a[100100],n,m,x,y,i,t;
int main ()
{
    f>>n;
    for (i = 1; i <= n; ++ i)
        f>>a[i];
    sort(a + 1, a + n + 1);
    f>>m;
    for (i = 1; i <= m; ++ i)
    {
        f>>t>>y;
        if (t == 0)
        {
            x=upper_bound(a + 1, a + n + 1, y) - a - 1;
            if (x <=n  && x >= 1 && a[x] == y)
                g<<x<<'\n';
            else g<<"nu exista"<<'\n';
        }
        else if (t == 1)
        {
            x = lower_bound(a + 1, a + n + 1, y + 1) - a - 1;
            g<<x<<'\n';
        }
        else
        {

            x = upper_bound(a + 1, a + n + 1, y - 1) - a;
            g<<x<<'\n';
        }
    }
 return 0;
}