Cod sursa(job #1941397)

Utilizator CronosClausCarare Claudiu CronosClaus Data 27 martie 2017 11:35:57
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ifstream cin("ssm.in");
    ofstream cout("ssm.out");
    int n;
    cin>> n;
    int x;
    int m1 = 0, m2 = 0, mm = - 2000000001;
    int x1 = 0, xx = 0, x2 = 0;
    for(int i = 0; i < n; i++){
        cin>> x;
        mm = max(mm, x);
        m2 += x;
        if(m1 < m2){
            m1 = m2;
            x1 = xx;
            x2 = i;
        }
        if(m2 < 0){
            m2 = 0;
            xx = i + 1;
        }
    }
    if(m1 == 0)
        cout<< mm;
    else
        cout<< m1;
    cout<< ' ' << x1 + 1 << ' ' << x2 + 1;
    return 0;
}