Cod sursa(job #431469)

Utilizator Antika89noname Antika89 Data 1 aprilie 2010 01:01:42
Problema Deque Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 1.42 kb
Program secventa;
{type stack=array [1..500000] of integer;  }
var f:text;
    n,k,i,ke,ve,p1,p2:longint;
    a:array [1..500000] of integer;
    o,max:integer;

function min():integer;
var m:longint;
begin
min:=a[1];
for m:=2 to k do
if a[m]<min
   then min:=a[m];
end;

procedure uj();
var m:longint;
begin
for m:=1 to k do
a[m]:=a[m+1];

end;

begin
assign(f,'secventa.in');
reset(f);
read(f,n,k);

for i:=1 to k do
read(f,a[i]);





max:=min();

p1:=1;
p2:=k;
ke:=a[1];
ve:=a[k];
{}

for i:=k+1 to n do
   begin
     uj();
     read(f,a[k]);
     o:=min();
      if o>max
         then
          begin
           max:=o;
           p1:=i-k+1;
           p2:=i;
           ke:=a[1];
           ve:=a[k];
          end
         else
          if o=max
             then

               if (a[1]<ke)
                 then
                  begin
                  max:=o;
                  p1:=i-k+1;
                  p2:=i;
                  ke:=a[1];
                  ve:=a[k];
                  end

             else
               if (a[k]<ve)
                then
                 begin
                   max:=o;
                   p1:=i-k+1;
                   p2:=i;
                   ke:=a[1];
                   ve:=a[k];
                 end;
   end;


close(f);
assign(f,'secventa.out');
rewrite(f);
write(f,p1,' ',p2,' ',max);
close(f);

end.