📄 ac1150.pas
字号:
program tju1150;
const
maxstu=10000;
author='JLY';
var
name:array[1..maxstu]of string[30];
score:array[1..maxstu]of word;
n,m,s,i,j,l,r,t:word;
p:string;
c:char;//junk, just to store a space
procedure qsort(s,t:word);
var
p,i,j:word;
tn:string;
begin
if s>=t then exit;
p:=s+random(t-s+1);
tn:=name[p];name[p]:=name[s];
i:=s;j:=t;
repeat
while (i<j) and (name[j]>tn) do dec(j);
if i=j then break;name[i]:=name[j];inc(i);
while (i<j) and (name[i]<tn) do inc(i);
if i=j then break;name[j]:=name[i];dec(j);
until i=j;
name[i]:=tn;
qsort(s,i-1);
qsort(i+1,t);
end;
begin
readln(n);
for i:=1 to n do begin
readln(p);
if p<>author then name[i]:=p;
end;
qsort(1,n);
readln(m);
for i:=1 to m do begin
for j:=1 to n do begin
readln(s,c,p);
if p=author then
t:=1
else begin
l:=2;r:=n;
repeat
t:=(l+r) shr 1;
if name[t]=p then break else if name[t]<p then l:=t+1 else r:=t-1;
until false;
end;
inc(score[t],s);
end;
s:=1;
for j:=2 to n do
if score[j]>score[1] then inc(s);
writeln(s);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -