Cod sursa(job #1331360)

Utilizator ioana1234Moraru Ioana ioana1234 Data 31 ianuarie 2015 16:07:27
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#define Nmax 6000000
using namespace std;
int s[Nmax],i,n,smax,smin,nr,a,b;
ifstream f ("ssm.in");
ofstream g ("ssm.out");
int main()
{
    f>>n;
    s[0]=0; a=32000; b=-32000; smin=smax=0;
    for (i=1;i<=n;i++)
    {
        f>>nr; s[i]=s[i-1]+nr;
        if (s[i]<a ) {smin=i+1; a=s[i];}
        if (s[i]<0 && b<nr) {smin=smax=i; b=nr;}
         else
            if ((s[i]-s[smin-1])>b )
                {smax=i; b=s[i]-s[smin-1];}
    }
    g<<b<<" "<<smin<<" "<<smax;
    f.close();
    g.close();
    return 0;
}