Cod sursa(job #262417)

Utilizator c_e_manuEmanuel Cinca c_e_manu Data 19 februarie 2009 12:12:41
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<fstream>
#define N 6000001
#define INF 2000000000

using namespace std;

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

int s[N],i,st,dr,m,mini,ii,n;

int main()
{       fin>>n;
        for(i=1;i<=n;i++) fin>>s[i];
        m=-INF;mini=0;
        for(i=1;i<=n;i++)
        {       s[i]+=s[i-1];
                if(m<s[i]-mini)
                {       m=s[i]-mini;
                        st=ii+1;
                        dr=i;
                }
                if(mini>s[i])
                {       mini=s[i];
                        ii=i;
                }
        }
        fout<<m<<' '<<st<<' '<<dr;
        return 0;
}