Cod sursa(job #2939901)

Utilizator hatzgion1hatz gion hatzgion1 Data 14 noiembrie 2022 13:20:20
Problema Subsecventa de suma maxima Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.99 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>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
    int n; fin>>n;
    int v[50],DP[50];
    for(int i=1;i<=n;++i)
        fin>>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;
        }
    }
    fout<<sol<<' '<<fin<<' '<<init;
    return 0;
}