社区讨论

第二个点怎么回事求神犇

P2676[USACO07DEC] Bookshelf B参与者 6已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@mi4ecct7
此快照首次捕获于
2025/11/18 17:54
4 个月前
此快照最后确认于
2025/11/18 17:54
4 个月前
查看原帖
CPP
var n,maxh,sum,ansh,i,j:longint;
       a:array[1..20000] of integer;
procedure qsort(l,r:longint);                    //快排从小到大
var i,j,mid,p:longint;
begin
  i:=l;j:=r;
    mid:=a[(l+n)div 2];
    repeat
        while a[i]<mid do inc(i);
        while a[j]>mid do dec(j);
        if i<=j then
           begin
                p:=a[i];a[i]:=a[j];a[j]:=p;
                inc(i);dec(j);
            end;
    until i>j;
    if l<j then qsort(l,j);
    if i<r then qsort(i,r)
end;
begin
     read(n,maxh);
     for i:=1 to n do read(a[i]);
     qsort(1,n);
     for i:=n downto 1 do
         begin
             if ansh>maxh then break;
             ansh:=ansh+a[i];inc(sum);
         end;
     write(sum);
end.

回复

6 条回复,欢迎继续交流。

正在加载回复...