Cod sursa(job #2939900)

Utilizator hatzgion1hatz gion hatzgion1 Data 14 noiembrie 2022 13:18:43
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <iostream>

using namespace std;

int main()
{
    int n; cin>>n;
    int v[50],DP[50];
    for(int i=1;i<=n;++i)
        cin>>v[i];
    DP[1]=v[1];
    for(int i=2;i<=n;++i)
        DP[i]=max(DP[i-1]+v[i],v[i]);
    int sol=-99999;
    int init,fin;
    for(int i=1;i<=n;++i) {
        //sol=max(sol,DP[i]);
        if(sol<DP[i]) {
            sol=DP[i];
            init=i;
        }
    }
    int s=0;
    for(int i=init;i>=1;--i) {
        s+=v[i];
        if(s==sol) {
            fin=i;
            break;
        }
    }
    cout<<sol<<' '<<fin<<' '<<init;
    return 0;
}