Cod sursa(job #1588755)

Utilizator JiyuuNoTsubasaMaria Guran JiyuuNoTsubasa Data 3 februarie 2016 16:26:16
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int v[6000000],s[6000000];
int main()
{
    int i,n,j,maxi,maxj,max=-100;
    in>>n;
    for (i=0; i<n; i++)
        in>>v[i];
    s[0]=v[0];
    for (i=1; i<n; i++)
        if (s[i-1]<0)
            s[i]=v[i];
        else s[i]=s[i-1]+v[i];
    for (j=1; j<=n; j++)
        if (s[j]>=max)
        {
            max=s[j];
            maxj=j;
            for (i=j; i>0; i--)
            {
                if (s[i]>=0)
                    maxi=i;
            }
        }
    out<<max<<" "<<maxi+1<< " "<<maxj+1;
    return 0;
}