Cod sursa(job #2284397)

Utilizator GeoDinBacauTofan George GeoDinBacau Data 17 noiembrie 2018 10:51:45
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    ifstream fcin("ssm.in");
    ofstream fcout("ssm.out");
    int v[6000000],dp[6000000],start[6000000];
    int i,n;
    fcin>>n;
    for (i=1;i<=n;i++)
        fcin>>v[i];
    dp[1]=v[1];
    start[1]=1;
    int maxi=1;
    for(i=2;i<=n;i++){
        if(dp[i-1]>0){
            dp[i]=dp[i-1]+v[i];
            start[i]=start[i-1];
        }
        else{
            dp[i]=v[i];
            start[i]=i;
        }
        if(dp[i]>dp[maxi])
            maxi=i;
    }
    fcout<<dp[maxi]<<" "<<start[i-1]<<" "<<maxi;

    return 0;
}