社区讨论
错了两个测试点,有java佬看看哪里可能有问题吗
P1223排队接水参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @m293uzem
- 此快照首次捕获于
- 2024/10/14 22:24 去年
- 此快照最后确认于
- 2025/11/04 17:10 4 个月前
JAVA
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] times = new int[n];
int[] originalsat = new int[n];
Integer[] indexTime = new Integer[n];
for (int i = 0; i < n; i++) {
times[i] = scanner.nextInt();
originalsat[i] = i + 1;
}
for (int i = 0; i < n; i++) {
indexTime[i] = i;
}
Arrays.sort(indexTime, Comparator.comparingInt(a -> times[a]));
int totalWaiting = 0;
StringBuilder order = new StringBuilder();
for (int i = 0; i < n; i++) {
totalWaiting += times[indexTime[i]] * (n - i - 1);
order.append(originalsat[indexTime[i]]).append(" ");
}
double aveWaiting = (double) totalWaiting / n;
System.out.println(order);
System.out.printf("%.2f", aveWaiting);
scanner.close();
}
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...