Cod sursa(job #647881)

Utilizator anca1243Popescu Anca anca1243 Data 12 decembrie 2011 10:38:18
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out ("ssm.out");
const int N=6000001;
int v[N],s[N],n;
int main()
{
    int i,smax=0,sc=0,stmax=0,drmax=0,stc;
    in>>n;
    for (i=1;i<=n;i++)
    {
        in>>v[i];
    }
    for (i=1;i<=n;i++)
    {
        if (sc<0)
        {
            sc=v[i];
            stc=i;
        }
        else sc+=v[i];
        if (sc>smax||(sc==smax&&i-stc<drmax-stmax))
        {
            smax=sc;
            drmax=i;
            stmax=stc;
        }
    }
    out<<smax<<' '<<stmax<<' '<<drmax;
    return 0;
}