Cod sursa(job #688590)

Utilizator mciprianmosincat ciprian mciprian Data 23 februarie 2012 18:04:20
Problema Cautare binara Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.84 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;  ok:=false;     max:=-maxint;
for i:=1 to m do begin
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
if ok=true then writeln(g,max) else
for k:=1 to n do
if v[k]>a[i,2] then begin max:=k;writeln(g,max);break;end;
if a[i,1]=2 then begin
if ok=false then write(g,max+1) else begin
for k:=1 to n do
if v[k]=a[i,2] then begin writeln(g,k);break;end;end;end;end;end;
close(g);close(f);end.