Cod sursa(job #1529699)

Utilizator cirje-bogdanCirje Bogdan cirje-bogdan Data 21 noiembrie 2015 10:39:44
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{   ifstream cin("ssm.in");
    ofstream cout("ssm.out");
    int n,sc=0,i,a,in=1,out=0,smax=-(1 << 31),maxi=-(1 << 31),iin,tout,tin;
    cin>>n;
    for(i=1; i<=n; i++)
    {
        cin>>a;
        sc=sc+a;
        out++;
        if(sc>smax)
        {
            smax=sc;
            tin=in;
            tout=out;
        }
        if(a>maxi)
        {
            maxi=a;
            iin=i;
        }
        if(sc<0)
        {
            sc=0;
            in=i;
            out=i;
        }
    }
    if(sc>smax)
    {
        smax=sc;
        in=i;
        tin=in;
        tout=out;
    }
    if(smax==0)
    {
        cout<<maxi<<iin;
        return 0;
    }
    cout<<smax<<" "<<tin<<" "<<tout;
    return 0;
}