Const IM = 139968
Const IA = 3877
Const IC = 29573
LAST = 42
Function gen_random(n)
LAST = (LAST * IA + IC) Mod IM
gen_random = n * LAST / IM
End Function
Sub heapsort(n, ra)
rra = 0
i = 0
j = 0
l = CLng((n / 2) + 1)
ir = n
While 1
If l > 1 Then
l = l - 1
rra = ra(l)
Else
rra = ra(ir)
ra(ir) = ra(1)
ir = ir - 1
If ir = 1 Then
ra(1) = rra
Exit Sub
End If
End If
i = l
j = l * 2
While CLng(j) <= CLng(ir)
If CLng(j) < CLng(ir) Then
If ra(j) < ra(j+1) Then j = j + 1
End If
If rra < ra(j) Then
ra(i) = ra(j)
i = j
j = j + i
Else
j = ir + 1
End If
Wend
ra(i) = rra
Wend
End Sub
n = WScript.Arguments(0)
If n < 1 Then n = 1
Redim ary(N+1)
For i = 1 To N
ary(i) = gen_random(1)
Next
heapsort N, ary
WScript.Echo FormatNumber(ary(N), 10)