Module c
Expand description
ยงABC 365 C - Transportation Expenses
refs: https://atcoder.jp/contests/abc365/tasks/abc365_c
use proconio::input;
fn main() {
input! {
n: usize, m: usize,
a: [usize; n],
}
if m >= a.iter().sum() {
println!("infinite");
return;
}
let mut l = 0;
let mut r = m;
while r - l > 1 {
let mid = (l + r) / 2;
let sum = a.iter().map(|&x| x.min(mid)).sum::<usize>();
if sum > m {
r = mid;
} else {
l = mid;
}
}
println!("{l}");
}