Cod sursa(job #2096795)

Utilizator PRGCRRaul Cotar PRGCR Data 29 decembrie 2017 20:11:40
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.11 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("cautbin.in");
ifstream out("cautbin.out");

long long n,m,tip,poz,v[100002],i;

int main()
{
    in>>n;
    for(i=1; i<=n; ++i) {
        in>>x;
        ++v[x];
    }
    in>>m;
    for(m=m; m>0; --m) {
        in>>tip>>x;
        if(tip==0) {
            if(v[x]==0) {
                out<<-1;
            }
            else {
                poz=0;
                for(i=1; i<=x; ++i) {
                    poz+=v[i];
                }
                out<<poz;
            }
        }
        else if(tip==1) {
            if(v[x]==0) {
                for(i=x; i>0; --i) {
                    if(v[i]>0) {
                        x=i;
                    }
                }
            }
            poz=0;
            for(i=1; i<=x; ++i) {
                poz+=v[i];
            }
            out<<poz;
        }
        else {
            poz=0;
            for(i=1; i<=x; ++i) {
                poz+=v[i];
            }
            poz+=1;
            out<<poz;
        }
    }

    return 0;
}