为什么会超时?

program Project1;

var
a: array[1..1000] of longint;
i, k, s, n: longint;

procedure qsort(l, r: longint);
var
i, j, x, y: longint;
begin
i := l;
j := r;
x := a[(l + r) div 2];
repeat
while a[i] < x do
Inc(i);
while a[j] > x do
Dec(j);
if i <= j then
begin
y := a[i];
a[i] := a[j];
a[j] := y;
Inc(i);
Dec(j);
end;
until i > j;
if l < j then
qsort(l, j);
if i < r then
qsort(i, r);
end;

begin
readln(n);
for i := 1 to n do
Read(a[i]);
qsort(1, n);
k := 0;
for i := 1 to n do
begin
s := 0;
s := s + a[i];
if k > a[2] then
k := 2 * k + s
else
k := k + s;
end;
writeln(k);
end.

0 条评论

目前还没有评论...

信息

ID
1097
难度
6
分类
贪心 点击显示
标签
递交数
23906
已通过
6330
通过率
26%
被复制
41
上传者