Skip to content

Commit 2fef460

Browse files
committed
Updated
1 parent 5fa09c4 commit 2fef460

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#include<bits/stdc++.h>
2+
using namespace std;
3+
int checkIfSubarraySumZero(int *arr, int n,int k){
4+
unordered_map<int,int>mp;
5+
int pre=0;
6+
int len=0;
7+
for(int i=0;i<n;i++){
8+
pre+= arr[i];
9+
if(pre==k){
10+
len= max(len,i+1);
11+
}
12+
if(mp.find(pre-k)!=mp.end()){
13+
len= max(len,i-mp[pre-k]);
14+
}
15+
else{
16+
mp[pre-k]=i;
17+
}
18+
}
19+
return len;
20+
}
21+
22+
int main(){
23+
24+
int n;
25+
cin>>n;
26+
int k;
27+
cin>>k;
28+
int *arr= new int[n];
29+
for(int i=0;i<n;i++){
30+
cin>>arr[i];
31+
}
32+
int b= checkIfSubarraySumZero(arr,n,k);
33+
cout<<b<<endl;
34+
return 0;
35+
36+
}

0 commit comments

Comments
 (0)