Cod sursa(job #1331354)

Utilizator ioana1234Moraru Ioana ioana1234 Data 31 ianuarie 2015 15:59:05
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 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 && s[i]>0) {smin=i+1; a=s[i];}
        else
         if (s[i]<0 && b<nr) {smin=smax=i; b=nr;}
         else
        if ((s[i]-s[smin-1])>b && b>0){smax=i; b=s[i]-s[smin-1];}
    }
    g<<b<<" "<<smin<<" "<<smax;
    f.close();
    g.close();
    return 0;
}