Cod sursa(job #1958486)

Utilizator Andrei0308Andrei Loghin Andrei0308 Data 8 aprilie 2017 13:53:52
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n;
int x;
int s, smax, pi = 1, pf, inc = 1;
int main()
{
    int i;
    fin>>n;
    for(i=1; i<=n; i++)
    {
        fin>>x;
        s += x;
        if(s > smax)
        {
            smax = s;
            pf = i;
            pi = inc;
        }
        else if(s == smax && pf - pi > i - inc)
        {
            smax = s;
            pf = i;
            pi = inc;
        }
        else if(s < 0)
        {
            s = 0;
            inc = i + 1;
        }
    }
    fout<<smax<<' '<<pi<<' '<<pf;
    return 0;
}