const n: i32 = 10; const S: i32 = 15; const a: [i32; 10] = [5, 1, 3, 5, 10, 7, 4, 9, 2, 8]; fn main() { let mut sum: Vec<i32> = Vec::new(); for i in 0.. { if !(i < n) { break; } sum[i+1] = sum[i] + a[i]; } if (sum[n] < S) { println!("0"); return; } let res = n; for s in 0.. { if sum[s] + S <= sum[n] { break; } let t = sum.binary_search(sum[s] + S) - sum; res = min(res, t - s); } println!("{}", res); }

