diff --git a/src/bin/search_array_division.rs b/src/bin/search_array_division.rs index 4d47d34..d2e3ac8 100644 --- a/src/bin/search_array_division.rs +++ b/src/bin/search_array_division.rs @@ -665,14 +665,10 @@ fn solve(scan: &[u8], out: &mut W) { } fn sum_possible(arr: &[u64], k: u32, target: u64) -> bool { - let mut subarray_count = 0; + let mut subarray_count = 1; let mut curr_sum = 0; for num in arr { - if *num > target { - return false; - } - curr_sum += *num; if curr_sum > target { subarray_count += 1; @@ -680,10 +676,6 @@ fn sum_possible(arr: &[u64], k: u32, target: u64) -> bool { } } - if curr_sum > 0 { - subarray_count += 1; - } - subarray_count <= k }