题目描述:
有n个人排队到r个水龙头去打水,他们装满水桶的时间t1、t2………..tn为整数且各不相等,应如何安排他们的打水顺序才能使他们总共花费的时间最少?
代码:
package lanqiao;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); //人数
int r = sc.nextInt(); //水龙头个数
int[] a = new int[n];
for(int i = 0;i < n;i ++)
{
a[i] = sc.nextInt();
}
Arrays.sort(a);
int j = 0;
int[] temp = new int[r];
int sum = 0;
while(j < n)
{
for(int i = 0;i < r && j < n;i ++,j ++)
{
temp[i] = temp[i] + a[j];
sum += temp[i];
}
}
System.out.println(sum);
}
}