2
pub fn check_arithmetic_subarrays(nums: Vec<i32>, l: Vec<i32>, r: Vec<i32>) -> Vec<bool> {3
let mut ans = Vec::new();6
let left = l[i] as usize;7
let (min, max) = nums[left..=r[i] as usize]9
.fold((i32::MAX, i32::MIN), |acc, x| {10
(acc.0.min(*x), acc.1.max(*x))18
let d = (max - min) / N;19
if (max - min) % N != 0 {24
let mut visited = vec![false; N as usize + 1];25
if (0..=N as usize).all(|j| {26
if (nums[left + j] - min) % d != 0 || visited[((nums[left + j] - min) / d) as usize] {29
visited[((nums[left + j] - min) / d) as usize] = true;