题目描述
排队打水问题(water)
【问题】 有n个人排队到m个水龙头去打水,他们装满水桶的时间t1, t2 , ……, tn为整数且各不相同,应如何安排他们的打水顺序才能使他们花费的总时间最少?
【输人样例】4 2 ( n m ) 【输出样例】23(所有人的花费时间总和)
2 6 4 5 (t1 t2 …… tn)
【问题】 有n个人排队到m个水龙头去打水,他们装满水桶的时间t1, t2 , ……, tn为整数且各不相同,应如何安排他们的打水顺序才能使他们花费的总时间最少?
【输人样例】4 2 ( n m ) 【输出样例】23(所有人的花费时间总和)
2 6 4 5 (t1 t2 …… tn)
输入
输出
样例输入
样例输出
提示
var n,m,i,s:longint;
a:array[1..1000]of longint;
procedure qsort(left,right:longint);
var
i,j,x,y:longint;
begin
i:=left;j:=right;x:=a[(left+right) div 2];
repeat
while a[i]<x do inc(i);
while x<a[j] 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 left<j then qsort(left,j);
if i&