Cod sursa(job #1903058)

Utilizator razvan171514Razvan Mihai razvan171514 Data 4 martie 2017 22:49:20
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 1.28 kb
#include <fstream>
#define st short
#define limita 100001
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,m,v[limita];
pair<st,int>p;
void citire ()
{
    fin>>n;
    for (int i=1;i<=n;++i)
        fin>>v[i];
    fin>>m;
    for (int i=1;i<=m;++i)
    {
        fin>>p.first>>p.second;
        if (p.first==0)
        {
            bool ok=0;
            for (int j=n;j>=1;--j)
                if (v[j]==p.second)
                {
                    fout<<j<<"\n";
                    ok=1;
                    break;
                }
            if (ok==0)
                fout<<-1<<"\n";
        }
        else
            if  (p.first==1)
            {
                for (int j=n;j>=1;--j)
                    if (v[j]<=p.second)
                    {
                        fout<<j<<"\n";
                        break;
                    }
            }
            else
                if (p.first==2)
                {
                    for (int j=1;j<=n;++j)
                        if (v[j]>=p.second)
                        {
                            fout<<j<<"\n";
                            break;
                        }
                }
    }
}
int main()
{
    citire();
    return 0;
}