Cod sursa(job #1817035)

Utilizator CriistinaMicula Cristina Criistina Data 27 noiembrie 2016 12:11:05
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#define Nmax 6000001

using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");

int n, s, smax, xj,l, lmax;

int main()
{
    f>>n;
    int x;
    f>>x;
    smax=s=x;
    l=lmax=0;
    xj=1;
    for(int i=2;i<=n;i++)
    {
        f>>x;
        if(x>s+x)
        {
            s=x;
            l=0;
        }
        else
        {
            s+=x;
            l++;
        }
        if(s>smax)
        {
            smax=s;
            xj=i;
            lmax=l;
        }
    }
    g<<smax<<' '<<xj-lmax<<' '<<xj;
    return 0;
}