Cod sursa(job #2505966)

Utilizator alexbureabureagabrielalexandru alexburea Data 7 decembrie 2019 12:23:52
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int s[6000000],ind[6000000],maxim;
int main()
{
    int n,i,x,j;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>x;
        if(s[i-1]<0)
        {
            s[i]=x;
            ind[i]=i;
            if(s[i]>=maxim)
                maxim=s[i];
        }
            else
        {
        s[i]=s[i-1]+x;
        ind[i]=ind[i-1];
        if(s[i]>=maxim)
            maxim=s[i];
        }
    }
    for(i=1;i<=n;i++)
    {
        if(s[i]==maxim)
        {
            j=i;
            while(ind[j]==ind[i])
            j--;
            cout<<maxim<<" "<<j+1<<" "<<i;
            break;
        }
    }
    return 0;
}