⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ac1150.pas

📁 某牛人写的acm.tongji.edu.cn上大部分ac的代码,仅供学习研究,请不要用来作弊
💻 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 + -