Cod sursa(job #2284542)

Utilizator NoNameLeftMihai Buliga Bogdan NoNameLeft Data 17 noiembrie 2018 11:29:09
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int V[6000001];
int dp[6000001];

int main()
{
    int n , i, maxi=-1000000000, start=1, stop, start_final;
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>V[i];
    }
    start=1;
    for(i=2;i<=n;i++)
    {
        if(dp[i-1]>=0)
        {
            dp[i]=V[i]+dp[i-1];

        }
        else
        {
            dp[i]=V[i];
            start=i;
        }
        if(dp[i]>maxi)
        {
            maxi=dp[i];
            stop=i;
            start_final=start;
        }
    }
    g<<maxi<<" "<<start_final<<" "<<stop;
    return 0;
}