Cod sursa(job #1809306)

Utilizator delia_ioanaCeapa Delia Ioana delia_ioana Data 18 noiembrie 2016 20:09:44
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <vector>
#include <algorithm>
#include <math.h>
#include <climits>

using namespace std;

int n, t;

int main()
{
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);

    scanf("%d", &n);
    int curr_sum = 0, max_sum = INT_MIN, s = 0, start, end;

    for (int i = 0; i < n; i ++) {
		scanf("%d", &t);
		
		curr_sum += t;

		if (curr_sum > max_sum) {
			max_sum = curr_sum;
			start = s;
			end = i;
		}

		if (curr_sum < 0) {
			curr_sum = 0;
			s = i + 1;
		}
    }

    printf("%d %d %d\n", max_sum, start + 1, end + 1);
    return 0;
}