Cod sursa(job #1941108)

Utilizator CronosClausCarare Claudiu CronosClaus Data 26 martie 2017 23:22:31
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 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;
    int x1 = 0, xx = 0, x2 = 0, pp = -1;
    for(int i = 0; i < n; i++){
        cin>> x;
        if(pp == -1)
            pp = i;
        m2 += x;
        if(m1 < m2){
            m1 = m2;
            x1 = xx;
            x2 = i;
        }
        if(m2 < 0){
            m2 = 0;
            xx = i + 1;
        }
    }
    if(m1)
        cout<< m1 << ' ' << x1 + 1 << ' ' << x2 + 1;
    else
        if(pp >= 0)
            cout<< 0 << ' ' << pp;
    return 0;
}