func checkSubarraySum(nums []int, k int) bool {
	n := len(nums)
	if n < 2 {
		return false
	}
	dp := make([]int, n)
	copy(dp, nums)
	for l := n - 1; 1 <= l; l-- {
		for i := 0; i < l; i++ {
			dp[i] += nums[i+n-l]
			if k == 0 {
				if dp[i] == k {
					return true
				}
			} else if dp[i]%k == 0 {
				return true
			}
		}
	}
	return false
}