Cod sursa(job #1596870)

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

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