正在打水的人不算等待,所以顺序改一下
```cpp
for (int i = 1; i <= n; i++) {
sum += term;
term += arr[i][0];
}
```
by _xm_ @ 2023-11-07 18:49:34
@[cmd137](/user/1146202)
等待时间,是指**后面的人等待的时间**(**接水的人不算**)。
比如:有 $4$ 个人,按照最短时间排列过后,第一个人接水 $1$ 分钟,后面的所有人等待的时间之和就是 $1\times (4-1)$ (接水的人不算)。
因此只要把:
```cpp
for (int i = 1; i <= n; i++) {
term += arr[i][0];
sum += term;
}
```
改成:
```cpp
for (int i = 1; i <= n; i++) {
term += arr[i][0];
sum += arr[i][0] * (n-i);
}
```
就行了。
by 2021zjhs005 @ 2023-11-07 18:50:13
@[_xm_](/user/821481) 豁然开朗,感谢回答
by cmd137 @ 2023-11-07 18:57:58
@[_xm_](/user/821481) 感谢!
by cmd137 @ 2023-11-07 18:58:22