Cod sursa(job #1568884)
| Utilizator | 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;
}
