Cod sursa(job #1768587)

Utilizator GoogalAbabei Daniel Googal Data 1 octombrie 2016 10:57:58
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>

using namespace std;

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

int a[6000001],i,n,x,minn,s,d,smax=INT_MIN,b[6000001];

int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        a[i]=a[i-1]+x;
    }
    minn=0;
    s=1,d=1;
    smax=a[1];
    for(i=1;i<=n;i++)
    {
        if(a[i]-minn>smax)
        {
            smax=a[i]-minn;
            d=i;
            b[i]=s;
        }
        if(a[i]<minn)
        {
            minn=a[i];
            s=i+1;
        }
    }

    fout<<smax<<' '<<b[d]<<' '<<d;
    return 0;
}