Skip to content

Commit f70bcc0

Browse files
authoredOct 20, 2020
Create Kadane's Algorithm via different method
1 parent 632d89b commit f70bcc0

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
 
+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
//...........KADANE'S ALGORITHM...........................//
2+
3+
#include <bits/stdc++.h>
4+
using namespace std;
5+
6+
void *max_sum(int arr[],int n,int count){
7+
int currentsum=0,maxsum=0;
8+
for(int i=0;i<n;i++){
9+
currentsum+=arr[i];
10+
if(currentsum<0)
11+
currentsum=0;
12+
maxsum=max(currentsum,maxsum);
13+
if(arr[i]<0)
14+
count++;
15+
}
16+
int maxx=arr[0];
17+
if(count==n){
18+
for(int i=0;i<n;i++){
19+
if(arr[i]>maxx)
20+
maxx=arr[i];
21+
}
22+
}
23+
if(count==n)
24+
cout<<maxx<<endl;
25+
else
26+
cout<<maxsum<<endl;
27+
}
28+
29+
int main() {
30+
int t;
31+
cin>>t;
32+
while(t--){
33+
int arr[100000];
34+
int n,count=0;
35+
cin>>n;
36+
for(int i=0;i<n;i++)
37+
cin>>arr[i];
38+
max_sum(arr,n,count);
39+
}
40+
return 0;
41+
}

0 commit comments

Comments
 (0)
Please sign in to comment.