Cod sursa(job #688606)

Utilizator mciprianmosincat ciprian mciprian Data 23 februarie 2012 18:22:09
Problema Cautare binara Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.74 kb
var a:array[1..100000,1..2]of integer;
v:array[1..100000]of integer;
n,i,j,k,m,max:integer;ok:boolean;
f,g:text;
begin
assign(f,'cautbin.in');reset(f);
assign(g,'cautbin.out');rewrite(g);
readln(f,n);
for i:=1 to n do read(f,v[i]);readln(f);
read(f,m);
for i:=1 to m do begin
for j:=1 to 2 do
read(f,a[i,j]);readln(f);end;
for i:=1 to m do begin ok:=false;
if a[i,1]=0 then begin
for k:=1 to n do
if v[k]>a[i,2] then begin max:=k-1;writeln(g,max);ok:=true;break;end;
if ok=false then writeln(g,'-1');end else begin
if a[i,1]=1 then
for k:=1 to n do
if v[k]>a[i,2] then begin max:=k;writeln(g,max-1);break;end;
if a[i,1]=2 then
for j:=1 to n do
if v[j]>=a[i,2] then begin writeln(g,j);break;end;end;end;
close(g);close(f);end.