Cod sursa(job #656993)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 5 ianuarie 2012 16:58:38
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.19 kb
#include<fstream>
using namespace std;
ifstream cin("cautbin.in");
ofstream cout("cautbin.out");
long long n, nr_intr, x, sir[100001], 
unsigned int i,tip,
void tip0(int tip)
{
     int max;
     max=-1;
     //cin>>x;
     if (sir[n/2]>x)
         for(i=1;i<n/2;i++)
             {   if(sir[i]==x)
                      max=i;}
     else  for(i=n/2;i<=n;i++)
              if(sir[i]==x)
                      max=i;
     cout<<max<<"\n";
}
void tip1(int tip)
{     //cin>>x;
int max;
      if (sir[n/2]>=x)
         for(i=1;i<=n/2;i++)
                if(sir[i]<=x)
                      max=i;
      else  for(i=n/2;i<=n;i++)
                if(sir[i]<=x)
                      max=i;
 
      cout<<max<<"\n";
}
int tip2(int tip)
{
 int i;
 for (i=1;i<=n && sir[i]<x;++i);
 return i;
}
int main()
{
    cin>>n;
    for(i=1;i<=n;i++)
       cin>>sir[i];
    cin>>nr_intr;
    for(i=1;i<=nr_intr;i++)
        while(cin>>tip>>x)
        {    if(tip==2)
                 cout<<tip2(tip)<<"\n";
             if(tip==1)
                 tip1(tip);
             if(tip==0)
                 tip0(tip);
        } 
    cin.close();
    cout.close();
    return 0;
}