Cod sursa(job #431483)

Utilizator Antika89noname Antika89 Data 1 aprilie 2010 02:17:59
Problema Secventa Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.49 kb
Program secventa;
{type stack=array [1..500000] of integer;  }
var f:text;
    n,k,i,ke,ve,p1,p2,p,l,e,m:longint;
    a:array [1..500000] of integer;
    o,max:integer;



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

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

l:=k;
p:=1;
     o:=a[p];
     inc(p);
     e:=p;
     for m:=e to l do
     if a[m]<o
        then o:=a[m];
     dec(p);
max:=o;
p1:=1;
p2:=l;
ke:=a[p];
ve:=a[l];
{}



   while l<n do
  begin
    inc(p);inc(l);

     read(f,a[l]);

     o:=a[p];
     inc(p);
     e:=p;
     for m:=e to l do
     if a[m]<o
        then o:=a[m];
     dec(p);



      if o>max
         then
          begin
           max:=o;
           p1:=l-k+1;
           p2:=l;
           ke:=a[p];
           ve:=a[l];
          end
         else
          if o=max
             then

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

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

   end;


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

end.