Cod sursa(job #1568884)

Utilizator AndreiMohutMohut Andrei AndreiMohut Data 14 ianuarie 2016 19:55:10
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int N,v[1000],Dp[1000],Smax;

void citire()
{
    fin>>N;
    for(int i=1;i<=N;i++)
        fin>>v[i];
}

void rezolvare()
{
 Dp[1]=v[1];
 for(int i=2;i<=N;i++)
 {
    if(Dp[i-1]>=0)
        Dp[i]=Dp[i-1]+v[i];
    else
        Dp[i]=v[i];
 }
}

void afisare()
{
   Smax=Dp[1];
   for(int i=2;i<=N;i++)
    Smax=max(Smax,Dp[i-1]);
   fout<<Smax;
}
int main()
{
 citire();
 rezolvare();
 afisare();
 return 0;
}