p1319.pas
来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· PAS 代码 · 共 61 行
PAS
61 行
// not Accept
// Time 2005/06/12
program p1319;
const
maxn = 30000;
type
Tadd = array[0..maxn + 1] of Longint;
var
part , p , n , m : Longint;
add , ask , data : Tadd;
procedure init;
var
i : Longint;
begin
readln ( n , m );
for i := 1 to n do read ( add [i] );
for i := 1 to m do read ( ask [i] );
end;
procedure main;
var
i , j , L , R , Q , P , k : Longint;
begin
i := 1; data [0] := - maxLongint; data [1] := maxLongint;
for j := 1 to m do
begin
while ( i <= ask [j] ) do
begin
L := 0; R := i + 1; P := 1;
while ( L < R ) do
begin
Q := ( L + R ) shr 1;
if data [Q] >= add [i] then begin P := Q; R := Q; end
else L := Q + 1;
end;
move ( data [P] , data [P + 1] , 4 * ( i - P + 1 ) );
data [P] := add [i];
inc ( i );
end;
writeln ( data [j] );
end;
end;
begin
{assign ( input , 'p.in' );
reset ( input );}
readln ( part );
for p := 1 to part do
begin
init;
main;
if p < part then writeln;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?