社区讨论

为毛10分

P1090[NOIP 2004 提高组] 合并果子参与者 2已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@mi5hfvx5
此快照首次捕获于
2025/11/19 12:08
4 个月前
此快照最后确认于
2025/11/19 12:08
4 个月前
查看原帖
我是先排序(猥琐的方法),再加。
CPP
var
 a,b:array[0..100001] of longint;
 n,s,t,i,j,max,ans,hans:longint;
begin
 read(n);
 for i:=1 to n do
  begin
   read(a[i]);
   inc(b[a[i]]);
   if max<a[i] then max:=a[i];
  end;
 for i:=1 to max do
  begin
   while b[i]>0 do
    begin
     inc(t);
     a[t]:=i;
     dec(b[i]);
    end;
  end;
 for i:=1 to n do
  begin
   hans:=a[i]+hans;
   if i>1 then
    begin
     ans:=ans+hans;
    end;
  end;
 write(ans);
end.

回复

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

正在加载回复...