Cod sursa(job #1596798)

Utilizator dragos231456Neghina Dragos dragos231456 Data 11 februarie 2016 13:44:33
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    int n,a,mx=0,lt,rt,s1=0;
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    f>>n;
    int s=0;
    for(int i=1; i<=n; ++i)
    {
        f>>a;
        s+=a;
        s1+=a;
        if(s>mx)
        {
            mx=s;
            s1=0;
            if(rt+1!=i) lt=i;
            rt=i;
        }
        else if(s1>0)
        {
            mx+=s1;
            lt=rt-1;
            rt=i;
        }
        else if(a<0)
        {
            s=0;
        }
    }
    g<<mx<<" "<<lt<<" "<<rt;
}