Cod sursa(job #2272287)

Utilizator opariucbiancaOpariuc Bianca Gabriela opariucbianca Data 29 octombrie 2018 22:35:11
Problema Subsecventa de suma maxima Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

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

long long maxim,n;
int dp[6000000],s[6000000];

int main()
{
    int i,a,b;
    fin>>n;
    i=n;
    while(i)
    {
        fin>>s[i];
        if(i==n)
        {
            a=n-i+1;
            dp[i]=s[i];
        }
        else
            dp[i]=max(0,dp[i+1]+s[i]);
       if(dp[i]>maxim)
       {
           maxim=dp[i];
           b=n-i+1;
       }
       else{
        if(dp[i+1]==0)
            a=n-i+1;
       }
        i--;
    }
    fout<<maxim<<' '<<a<<' '<<b<<'\n';
    return 0;
}