📄 标程.pas
字号:
{
请把Li Ming改成JLY,为了尊重原版还是把这个放上去了
}
type
rec=record
t:string[30];
s:integer;
end;
var
l,o:array[1..10000] of rec;
i,j,n,m,v,c,p,r,h,len,z:integer;
q:string;
procedure quicksort(h,t:integer);
var
i,j:integer;
x:rec;
begin
i:=h;
j:=t;
x:=o[i];
while i<j do
begin
while (o[j].t>=x.t)and(j>i) do dec(j);
if j>i then
begin
o[i]:=o[j];
inc(i);
end;
while (o[i].t<=x.t)and(i<j) do inc(i);
if i<j then
begin
o[j]:=o[i];
dec(j);
end;
o[i]:=x;
end;
if h<(i-1) then quicksort(h,i-1);
if (i+1)<t then quicksort(i+1,t);
end;
procedure find(s,e:integer);
var
i,j,y:integer;
begin
if s=e then
begin
z:=s;
exit;
end;
y:=s+(e-s+1) div 2;
if o[y].t<q then find(y+1,e)
else if o[y].t>q then find(s,y-1)
else find(y,y);
end;
begin
while not eof do
begin
readln(n);
for i:=1 to n do
begin
readln(l[i].t);
if l[i].t='JLY' then h:=i;
l[i].s:=0;
o[i].t:=l[i].t;
o[i].s:=i;
end;
quicksort(1,n);
readln(m);
for i:=1 to m do
begin
for j:=1 to n do
begin
readln(q);
p:=pos(' ',q);
val(copy(q,1,p-1),v,c);
q:=copy(q,p+1,length(q)-p);
find(1,n);
inc(l[o[z].s].s,v);
end;
r:=1;
for j:=1 to n do
if l[j].s>l[h].s then inc(r);
writeln(r);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -