Cod sursa(job #2239015)

Utilizator peremereRares Descas peremere Data 8 septembrie 2018 17:24:56
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.08 kb
#include <fstream>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");


int main()
{
    int n,m,v[100001],q[100001],x[100001],rez[100001],j,pozmin=100002,pozmax=0;
    fin>>n;
    for(int i=1; i<=n; i++)
        fin>>v[i];
    fin>>m;
    for(int i=1; i<=m; i++)
        fin>>q[i]>>x[i];
    for(j=1; j<=m; j++)
    {
        pozmin=100002;
        pozmax=0;
        if(q[j]==0)
        {
            for(int i=1; i<=n; i++)
                if(v[i]==x[j] && i!=j)
                    rez[j]=i;
        }
        else if(q[j]==1)
        {
            for(int i=1; i<=n; i++)
                if(v[i]<=x[j] && i>pozmax)
                {
                    pozmax=i;
                    rez[j]=pozmax;
                }
        }
        else if(q[j]==2)
        {
            for(int i=1; i<=n; i++)
                if(v[i]>=x[j] && i<pozmin)
                {
                    pozmin=i;
                    rez[j]=pozmin;
                }
        }
    }
    for(int i=1; i<=m; i++)
        fout<<rez[i]<<endl;
    return 0;
}