Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 899 byte
program median;
var a,b:array[0..3001,0..3001] of longint;
r,c,w,h:longint;
al,fe,vi:longint;
i,j,k,lo:longint;
t,t2:text;
begin
assign(t,'median.in'); reset(t);
readln(t,r,c,h,w);
for i:=1 to r do for j:=1 to c do read(t,a[i,j]);
close(t);
al:=1;
fe:=r*c;
vi:=(fe+al) div 2;
while al<fe do begin
lo:=1;
for i:=1 to r+1 do for j:=1 to c+1 do b[i,j]:=0;
for i:=r downto 1 do for j:=c downto 1 do begin
b[i,j]:=b[i+1,j];
if a[i,j]>vi then inc(b[i,j]);
if a[i,j]<vi then dec(b[i,j]);
end;
for i:=r downto 1 do for j:=c downto 1 do b[i,j]:=b[i,j]+b[i,j+1];
for i:=1 to r-h+1 do for j:=1 to c-w+1 do begin
k:=(b[i,j]-b[i+h,j]-b[i,j+w]+b[i+h,j+w]);
if (k=0) and (lo>0) then lo:=0;
if (k<0) then lo:=-1;
end;
if lo=0 then begin al:=vi; fe:=vi; end;
if lo=1 then al:=vi+1;
if lo=-1 then fe:=vi-1;
vi:=(fe+al) div 2;
end;
assign(t2,'median.out'); rewrite(t2); writeln(t2,vi); close(t2);
end.