Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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 ans = subarrsumk(arr,k);
- System.out.print(ans);
- }
- public static int subarrsumk(int [] arr, int target)
- {
- int n = arr.length;
- int ans = 0;
- HashMap<Integer,Integer> map = new HashMap<>();
- map.put(0,-1); // intial sum 0 and it has a freq 1
- int sum = 0;
- for (int i=0; i<n; i++)
- {
- sum += arr[i];
- if(map.containsKey(sum - target))
- {
- ans = Math.max(ans, i-map.get(sum - target));
- }
- if(!map.containsKey(sum))
- map.put(sum,i);
- }
- return ans;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement