Cod sursa(job #880035)

Utilizator rares.opariucRares Opariuc rares.opariuc Data 16 februarie 2013 10:39:46
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int v[100001],w[100001],z[100001];
int main()
{
    int n,m,i,j,a,b;
    f>>n;
    for(i=1;i<=n;i++)f>>v[i];
    f>>m;
    for(i=1;i<=m;i++)f>>z[i]>>w[i];
    for(i=1;i<=m;i++){
        a=b=-1;
        if(z[i]==0){
            for(j=1;j<=n;j++)
                if(v[j]==w[i])a=j;
            g<<a<<'\n';
        }
        else {
            if(z[i]==1){
                for(j=1;j<=n;j++)
                    if(v[j]<=w[i])a=j;
                g<<a<<'\n';
            }
            else {
                for(j=1;j<=n&&b==-1;j++)
                    if(v[j]>=w[i])b=j;
                g<<b<<'\n';
            }
        }
    }
    f.close();
    g.close();
    return 0;
}