17 lines
452 B
Rust
17 lines
452 B
Rust
impl Solution {
|
|
pub fn max_run_time(n: i32, mut batteries: Vec<i32>) -> i64 {
|
|
batteries.sort();
|
|
|
|
let mut total = batteries.iter().map(|x| *x as u64).sum::<u64>();
|
|
let mut k: u64 = 0;
|
|
|
|
while *batteries.last().unwrap() as u64 > total / (n as u64 - k) {
|
|
total -= *batteries.last().unwrap() as u64;
|
|
batteries.pop();
|
|
|
|
k += 1;
|
|
}
|
|
|
|
(total / (n as u64 - k)) as i64
|
|
}
|
|
}
|