Cod sursa(job #2001942)

Utilizator IrispetreIris Petre Irispetre Data 18 iulie 2017 10:27:48
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
const int NMAX=1000000;
int v[NMAX+5];

int main()
{
    int n,i,sc,smax,isc,ismax,sfmax;
    f>>n;
    for(i=1; i<=n; i++)
        f>>v[i];
    sc=smax=v[1];
    isc=ismax=sfmax=1;
    for(i=2; i<=n; i++)
    {
        if(sc+v[i]<v[i])
        {
            sc=v[i];
            isc=i;
        }
        else
            sc=sc+v[i];
        if(sc>smax)
        {
            smax=sc;
            ismax=isc;
            sfmax=i;
        }
    }
    g<<smax<<" "<<ismax<<" "<<sfmax<<'\n';
    return 0;
}