Cod sursa(job #2683819)

Utilizator BogdanBurescuBogdan Burescu BogdanBurescu Data 12 decembrie 2020 10:16:39
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>

using namespace std;
int n,i,a,b,maxi,v[6000005],dp[6000005];
int main()
{
    cin>>n;
    for(i=1;i<=n;i++)
        cin>>v[i];
    dp[1]=v[1];
    a=1;
    maxi=dp[1];
    for(i=2;i<=n;i++)
    {
        if(dp[i-1]+v[i]>=0)
                dp[i]=dp[i-1]+v[i];
        if(dp[i-1]+v[i]<0)
            {
                dp[i]=v[i];
                a=i;
            }
        if(dp[i]>=maxi)
            {
                maxi=dp[i];
                b=i;
            }
    }
    cout<<maxi<<' '<<a<<' '<<b;
    return 0;
}