Cod sursa(job #1065287)

Utilizator shibby_chickAndreea Muscalagiu shibby_chick Data 23 decembrie 2013 01:07:17
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include<fstream>
#include<algorithm>
#include<vector>
using namespace std;
int n,m;
vector<int>v;
int main()
{
    ifstream f("cautbin.in");
    ofstream g("cautbin.out");
    f>>n;
    int i,a,b,j;
    for(i=1;i<=n;i++){
        f>>a;
        v.push_back(a);
        //cout<<sir[i]<<" ";
    }
    f>>m;
    for(i=1;i<=m;i++){
        f>>a>>b;
        if(a==0){
            if(v[upper_bound(v.begin(),v.end(),b) - v.begin()-1] == b)
                g<<(upper_bound(v.begin(),v.end(),b) - v.begin())<<endl;
            else g<<-1<<endl;
        }
        else if(a==1){
            g<<(upper_bound(v.begin(),v.end(),b) - v.begin())<<endl;
        }
        else if(a==2){
            g<<(lower_bound(v.begin(),v.end(),b) - v.begin()+1)<<endl;
        }
    }
    f.close();
    g.close();
    return 0;
}