Cod sursa(job #1294129)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 16 decembrie 2014 23:51:03
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <algorithm>
#include <vector>
#include <set>
#include <cstdio>
using namespace std;
FILE *f=fopen("cautbin.in","r");
FILE *g=fopen("cautbin.out","w");

int a[100005],q;

int main()
{int i,j,n,m,op,x;
fscanf(f,"%d",&n);
for (i=1;i<=n;i++) fscanf(f,"%d",&a[i]);
fscanf(f,"%d",&m);
for (i=1;i<=m;i++)
        {fscanf(f,"%d %d",&op,&x);
         if (op==0) {q=lower_bound(a+1,a+n+1,x+1) - a - 1 ;
                     if((q<=n) && (q>=1) && a[q]==x)
                               fprintf(g,"%d\n",q);
                            else fprintf(g,"-1\n");
                     }else
         if (op==1) {q=lower_bound(a+1,a+n+1,x+1) - a - 1 ;
                     fprintf(g,"%d\n",q);
                     }else
                    {q=lower_bound(a+1,a+n+1,x) - a ;
                     fprintf(g,"%d\n",q);
                     }


        }
return 0;
}