viai957's picture
Add files using upload-large-folder tool
4951e76 verified
Raw History Blame Contribute Delete
610 Bytes
pub fn hint_weight(hint: &[u8], max_ones: usize, rows: usize) -> Option<usize> {
let mut previous = 0usize;
let mut total = 0usize;
let mut bad = false;
let mut i = 0usize;
while i < rows {
let current = hint[max_ones + i] as usize;
if current < previous || current > max_ones {
bad = true;
} else {
let mut j = previous;
while j < current {
total += hint[j] as usize;
j += 1;
}
previous = current;
}
i += 1;
}
if bad { None } else { Some(total) }
}