#![allow(non_snake_case)]
fn PrintSubarrayWithSumEqualToN(arr : [usize; 9], N : usize) {
let size : usize = arr.len();
{
let mut i : usize = 0;
while i < size {
let mut current_sum : usize = arr[i as usize];
if current_sum == N {
print!("Sum found at index: {}", i);
return;
}
else {
{
let mut j : usize = i + 1;
while j < size {
current_sum += arr[j as usize];
if current_sum == N {
println!("Sum found between index {} and {}", i, j);
{
let mut k : usize = i;
while k <= j {
print!("{} ", arr[k as usize]);
k += 1;
}
}
return;
}
else if current_sum > N {
break;
}
j += 1;
}
}
}
i += 1;
}
}
print!("No subarray found");
}
fn main()
{
let arr: [usize; 9] = [2, 5, 8, 9, 1, 7, 12, 21, 19];
let N : usize = 52;
PrintSubarrayWithSumEqualToN(arr, N);
}
/*
run:
Sum found between index 6 and 8
12 21 19
*/