Cod sursa(job #2437860)

Utilizator robertnanuNanu Robert robertnanu Data 10 iulie 2019 15:53:50
Problema Subsecventa de suma maxima Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include<fstream>
#include<climits>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,a[6000001],s,Max=INT_MIN,poz1,poz2,poz3;
int main()
{
    f>>n;
    bool ok=1;
    for(int i=1;i<=n;++i)
    {
        f>>a[i];
        if(a[i]>Max)
        {
            Max=a[i];
            poz3=i;
        }
        if(a[i]>=0)
            ok=0;
    }
    if(ok==1)
    {
        g<<Max<<' '<<poz3<<' '<<poz3;
        return 0;
    }
    Max=-1;
    s=a[1];
    int x=1;
    for(int i=1;i<n;++i)
        for(int j=i+1;j<=n;++j)
        {
            s+=a[j];
            if(s>Max)
            {
                Max=s;
                poz1=i;
                poz2=j;
            }
            if(j==n)
                ++x, s=a[x];
            if(s>Max)
            {
                Max=s;
                poz1=i;
                poz2=j;
            }
        }
    g<<Max<<' '<<poz1<<' '<<poz2;
    return 0;
}