/******************************************************************************
Online Java Compiler.
Code, Compile, Run and Debug java program online.
Write your code in this editor and press "Run" button to execute it.
*******************************************************************************/
import java.util.*;
public class Main
{
public static void main
(String[] args
) { int [] arr={1,2,3,4,5};
int k=5;
HashMap
<Integer,Integer
>map
=new HashMap
<>(); map.put(0,-1);
int sum=0;
int maxlen=0;
for(int i=0;i<arr.length;i++){
sum+=arr[i];
if(map.containsKey(sum-k)){
maxlen
=Math.
max(maxlen,i
-map.
get(sum
-k
)); }
map.putIfAbsent(sum,i);
}
int prefix[]=new int[arr.length+1];
int count1=0;
for(int i=1;i<=arr.length;i++){
prefix[i]=prefix[i-1]+arr[i-1];
}
for(int i=0;i+maxlen<=arr.length;i++){
int currentsum=prefix[i+maxlen]-prefix[i];
if(currentsum==k){
count1++;
}
}
}
}
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9ubGluZSBKYXZhIENvbXBpbGVyLgogICAgICAgICAgICAgICAgQ29kZSwgQ29tcGlsZSwgUnVuIGFuZCBEZWJ1ZyBqYXZhIHByb2dyYW0gb25saW5lLgpXcml0ZSB5b3VyIGNvZGUgaW4gdGhpcyBlZGl0b3IgYW5kIHByZXNzICJSdW4iIGJ1dHRvbiB0byBleGVjdXRlIGl0LgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KaW1wb3J0IGphdmEudXRpbC4qOwpwdWJsaWMgY2xhc3MgTWFpbgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CglpbnQgW10JYXJyPXsxLDIsMyw0LDV9OwoJaW50IGs9NTsKCUhhc2hNYXA8SW50ZWdlcixJbnRlZ2VyPm1hcD1uZXcgSGFzaE1hcDw+KCk7CgltYXAucHV0KDAsLTEpOwoJaW50IHN1bT0wOwoJaW50IG1heGxlbj0wOwoJZm9yKGludCBpPTA7aTxhcnIubGVuZ3RoO2krKyl7CgkgICAgc3VtKz1hcnJbaV07CgkgICAgaWYobWFwLmNvbnRhaW5zS2V5KHN1bS1rKSl7CgkgICAgICAgIAoJICAgICAgIAoJICAgICAgICBtYXhsZW49TWF0aC5tYXgobWF4bGVuLGktbWFwLmdldChzdW0taykpOwoJICAgIH0KCSAgICBtYXAucHV0SWZBYnNlbnQoc3VtLGkpOwoJfQoKCWludCBwcmVmaXhbXT1uZXcgaW50W2Fyci5sZW5ndGgrMV07CglpbnQgY291bnQxPTA7Cglmb3IoaW50IGk9MTtpPD1hcnIubGVuZ3RoO2krKyl7CgkgICAgcHJlZml4W2ldPXByZWZpeFtpLTFdK2FycltpLTFdOwoJICAgIAoJfQoJZm9yKGludCBpPTA7aSttYXhsZW48PWFyci5sZW5ndGg7aSsrKXsKCSAgICBpbnQgY3VycmVudHN1bT1wcmVmaXhbaSttYXhsZW5dLXByZWZpeFtpXTsKCSAgICBpZihjdXJyZW50c3VtPT1rKXsKCSAgICAgICAgY291bnQxKys7CgkgICAgfQoJfQoJU3lzdGVtLm91dC5wcmludGxuKGNvdW50MSk7CgkKCX0KfQ==