Cod sursa(job #497552)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 2 noiembrie 2010 20:59:40
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>

using namespace std;

int m,i,a,b,n,x,s,c;

int main()
{
    ifstream in("ssm.in");
    ofstream out("ssm.out");
    in>>n;
    in>>x;s=x;
    m=x;b=1;c=1;
    if (s<0) s=0;
    for (i=2;i<=n;++i)
    {
        in>>x;
        s+=x;
        if ((s<0)&&(s>m)) {b=i;c=1;m=s;s=0;}
        else if (s<0) {s=0;c=0;}
        else
        {
            ++c;
            if (s>m) {m=s;a=c;b=i;}
        }
    }
    out<<m<<" "<<b-a+1<<" "<<b;
    return 0;
}