Cod sursa(job #1130504)

Utilizator AlbertJuniorAlbert Ramona AlbertJunior Data 28 februarie 2014 13:42:26
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long n , i, mx, s, f1, f2, p1, p2, a[6000000];
int main()
{
    f>>n;
    for (i=1;i<=n;i++)
    f>>a[i];
    mx=0;
    s=0;
    for (i=1;i<=n;i++)
    {
        if (s+a[i]<0) {s=0;p1=i+1;}
        else {s=s+a[i];p2=i;}
        if (s>mx) {mx=s;f1=p1;f2=p2;}
    }
    if (mx==0)
    {
        mx=a[1];
        for (i=2;i<=n;i++)
        if (mx<a[i]) {mx=a[i];f1=i;f2=i;}
    }
    g<<mx<<" "<<f1<<" "<<f2;
        return 0;
}