Cod sursa(job #1263925)

Utilizator BlackNestaAndrei Manaila BlackNesta Data 15 noiembrie 2014 11:43:19
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");

int main()
{
    int n,x,p,p1,p2,i;
    long long s, smax;
    fin>>n;
    fin >> x;
    smax = s = x;
    p = p1 = p2 = 1;
    if (s < 0)
    {
        s = 0;
        p = 2;
    }
    for(i=2;i<=n;i++)
    {
        fin>>x;
        s += x;
        if (s>smax)
        {
            p2 = i;
            p1 = p;
            smax = s;
        }
        if(s<0)
        {
            p = i + 1;
            s = 0;
        }
    }

    fout<<smax << " " << p1<<" "<<p2<<"\n";
    fout.close();
    return 0;
}