maxsum of subarray: Kadanes Algo

 #include <iostream>

#include <bits/stdc++.h>

#include <climits>


using namespace std;




void display(int *arr, int n){


    for(int i=0;i<n;i++){


        cout<<arr[i];


    }


}






int main() {

    int arr[]={-1,4,7,2};

    int n=sizeof(arr)/sizeof(int);

    int maxsum=INT_MIN;

    int sum=0;

    for(int i=0;i<n;i++){

        for(int j=i;j<n;j++){

            sum=0;

            for(int k=i;k<=j;k++){

               // cout<<arr[k]<<" ";

               sum=sum+arr[k];

            }

            maxsum=max(maxsum,sum);

            cout<<endl;

        }

    }

    cout<<maxsum;

    



    return 0;


}

/////////////////optimized/////////////////

#include <iostream>

#include <bits/stdc++.h>

#include <climits>


using namespace std;




void display(int *arr, int n){


    for(int i=0;i<n;i++){


        cout<<arr[i];


    }


}






int main() {

    int arr[]={-4,4,-6,20,10,-11,12};

    int n=sizeof(arr)/sizeof(int);

    int maxsum=INT_MIN;

    int sum=0;

    //int arr_sum[n];

    for(int i=0;i<n;i++){

        //sum=0;

        sum=sum+arr[i];

        if(sum<0){

            //sum=sum+arr[i];

            sum=0;

        }

        maxsum=max(sum,maxsum);

        //sum=sum+arr[i];

        //arr_sum[i]=sum;

        

    }

    

    cout<<maxsum;

    



    return 0;


}

Comments

Popular posts from this blog

Sum of Even Numbers till N

Find the Runner-Up Score!

Print All Substrings