社区讨论
第二个点怎么回事求神犇
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 条回复,欢迎继续交流。
正在加载回复...