Quick actions

cmd+k|ctrl+k

Navigation

Languages

Finding max sum subarray

Snippet info

Language

Cpp

Visibility

public

Author

amangoyal1727

Created

2021-01-08T06:17:08Z

Updated

2021-01-08T06:17:08Z

#include <iostream>
using namespace std;

int main() {
    
    int n;
    cin>>n;
    
    int A[n];
    for(int i=0; i<n; i++){
        cin>>A[i];
    }
    
    int sum;
    int s;
    int max;
    
    int B[n];
    
    for(int j=0; j<n;j++){
        sum=0;
        for(int k=j; k<n;k++){
            s = sum;
            sum = sum +A[k];
            max = sum;
            if(s>max){
                max=s;
            }
        }
        B[j] = max;
        
    }
    
    int c=0;
    int max3 = A[0];
    for(int i=0 ; i<n; i++){
        if(A[i]<0)
            c++;
        if(A[i]>A[0])
            max3 = A[i];
    }
    
    // for(int m =0 ; m<n ; m++){
    //     cout<<B[m]<<" ";
    // }
    
    int max1 = B[0];
    for(int l=0 ; l<n;l++){
        if(B[l]>max1){
            max1= B[l];
        }
    }
    
    if(c==n){
        cout<<max3;
    }else
        cout<<max1;
    
}
INFO