Subarray Sums Divisible by K

Subarray Sums Divisible by K

Given an integer array nums and an integer k, print the number of non-empty subarrays that have a sum divisible by k.

A subarray is a contiguous part of an array.

Input:

The first line contains a two integers n(size of array n) and k Second line contains n spaced integers

Output:

Print count of subarrays divisible by k

Constraints

1 <= nums.length <= 3 * 104
-10^4 <= nums[i] <= 10^4
2 <= k <= 10^4
Sample Input 1

6 5 4 5 0 -2 -3 1

Sample Output 1

7

Explanation

There are 7 subarrays with a sum divisible by k = 5: [4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]

Sample Input 2
1 9
5
Sample Output 2
0

Solution of Subarray Sums Divisible by K:–

import java.util.*;
import java.lang.*;
import java.io.*;

public class Main
{
	public static void main (String[] args) throws java.lang.Exception
	{
		//your code here
      Scanner sc = new Scanner (System.in);
      int n = sc.nextInt();
      int k = sc.nextInt();

      int arr[] = new int[n];
      for(int i=0;i<n;i++)
        {
           arr[i]=sc.nextInt();
        }

      int count=0;
      for(int i=0;i<n;i++)
        {
          int sum=0;
          for(int j=i;j<n;j++)
            {
              sum=sum+arr[j];
              if(sum%k==0)
              {
                count++;
              }
            }
        }
      System.out.println(count);
      
	}
}

Add a Comment

Your email address will not be published. Required fields are marked *