| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我编了一上午数据全过了,submit之后还是WA……请高手指点var
n,q,i,l,k,x,y:longint;
a:array [1..50000] of longint;
b:array [1..1000] of record
big,small:longint;
end;
function min(a,b,c:longint):longint;
var
t:longint;
begin
if a<b then t:=a else t:=b;
if c<t then t:=c; exit(t);
end;
function max(a,b,c:longint):longint;
var
t:longint;
begin
if a>b then t:=a else t:=b;
if c>t then t:=c; exit(t);
end;
function findsmall(x,y:longint):longint;
var
i:longint;
begin
if y<x then exit(maxlongint); findsmall:=maxlongint;
for i:=x to y do if a[i]<findsmall then findsmall:=a[i];
end;
function findbig(x,y:longint):longint;
var
i:longint;
begin
if y<x then exit(0); findbig:=0;
for i:=x to y do if a[i]>findbig then findbig:=a[i];
end;
function rmqsmall(x,y:longint):longint;
var
i:longint;
begin
if y<x then exit(maxlongint); rmqsmall:=maxlongint;
for i:=x to y do if b[i].small<rmqsmall then rmqsmall:=b[i].small;
end;
function rmqbig(x,y:longint):longint;
var
i:longint;
begin
if y<x then exit(0); rmqbig:=0;
for i:=x to y do if b[i].big>rmqbig then rmqbig:=b[i].big;
end;
function smallest(x,y:longint):longint;
begin
if x=y then exit(a[x]);
exit(min(findsmall(x,(x div l)+l),rmqsmall(x div l+1,y div l),findsmall((y div l)*l,y)));
end;
function biggest(x,y:longint):longint;
begin
if x=y then exit(a[x]);
exit(max(findbig(x,(x div l)+l),rmqbig(x div l+1,y div l),findbig((y div l)*l,y)));
end;
begin
while not eof do
begin
readln (n,q);
l:=trunc(sqrt(n));
for i:=1 to 1000 do begin b[i].small:=maxlongint; b[i].big:=0; end;
k:=1;
for i:=1 to n do
begin
readln (a[i]);
if (i mod l=0) then inc (k);
if a[i]>b[k].big then b[k].big:=a[i];
if a[i]<b[k].small then b[k].small:=a[i];
end;
for i:=1 to q do
begin
readln (x,y);
if x>y then begin k:=y; y:=x; x:=k end;
writeln (biggest(x,y)-smallest(x,y));
end;
end;
end.
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator