Cod sursa(job #2106538)

Utilizator PRGCRRaul Cotar PRGCR Data 15 ianuarie 2018 21:35:01
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.88 kb
#include <iostream>
#include <fstream>

using namespace std;

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

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

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<<"\n";
            }
            else
            {
                poz=0;
                for(j=x; j>0; --j)
                {
                    poz+=v[j];
                }
                out<<poz<<"\n";
            }
        }*/
        /*else */if(tip==1)
        {
            if(v[x]>0)
            {
                poz=0;
                for(j=x; j>0; --j)
                {
                    poz+=v[j];
                }
                out<<poz<<"\n";
            }
            else
            {
                for(j=x-1; v[j]==0 && j>0; --j) {}
                if(v[j]>0)
                {
                    poz=0;
                    for(j=j; j>0; --j)
                    {
                        poz+=v[j];
                    }
                    out<<poz<<"\n";
                }
            }
        }
        else if(tip==2)
        {
            if(v[x]>0)
            {
                poz=0;
                for(j=x; j>0; --j)
                {
                    poz+=v[j];
                }
                poz=poz+1-v[x];
                out<<poz<<"\n";
            }
            else
            {
                for(j=x; v[j]==0 && j<=100001; ++j){}
                poz=0;
                poz=poz+1-v[j];
                for(j=j; j>0; --j)
                {
                    poz+=v[j];
                }
                out<<poz<<"\n";
            }
        }
    }
    return 0;
}