Cod sursa(job #1972655)

Utilizator AlexGhearaAlex Gheara AlexGheara Data 23 aprilie 2017 14:47:57
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.09 kb
#include <fstream>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");

int main()
{
    
    int n,i,v[100001],m,a,x,p=0,u=0,mij=0,min=100000,max=0;
    in>>n;
    for(i=1;i<=n;i++)
    {
        in>>v[i];
    }
    p=1;
    u=n;
    in>>m;
    for(i=1;i<=m;i++)
    {
        in>>a>>x;
        p=1;
        u=n;
        if(n%2==1)
            mij=v[n/2];
        
        if(mij>x)
            u=mij;
        
        if(a==0)
        {
            while(v[u]!=x && u>0)
            {
                u--;
            }
            if(u==0)
                out<<-1;
            else
                out<<u<<endl;
            
        }
        
        if(a==1)
        {
            while(u>0)
            {
                if(v[u]>=max && v[u]<=x)
                    max=u;
                u--;
            }
            out<<max<<endl;
            
            
        }
        if(a==2)
        {
            
            while(v[u]>=x && u>0)
            {
                min=u;
                u--;
            }
         
            out<<min;
        }
        
    }
    
}