View Code of Problem 19

#include <iostream>
using namespace std;

int getSum(int input[], int left, int right){
    int sum = 0;
    for(int i = left; i <= right; i++)
        sum += input[i];
    return sum;
}

int main(){
    int n;
    while(cin >> n){
        if(!n)
            break;
        int input[n];
        for(int i = 0; i < n; i++){
            cin >> input[i];
        }
        int left = 0, right = n-1, tmp;
        int max = getSum(input, 0, n-1);
        while(left < right){
            if(input[left] > input[right])
                right --;
            else
                left ++;
            tmp = getSum(input, left, right);
            if(tmp > max)
                max = tmp;
            
        }
        cout << max << endl;
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 19