Cod sursa(job #2228011)
| Utilizator | Data | 2 august 2018 14:43:21 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <bits/stdc++.h>
using namespace std;
int main()
{
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int n, maxSum = -(1 << 30), lastDp = 0, currentDp = 0;
fin >> n;
for (int i = 1; i <= n; ++i) {
int x;
fin >> x;
currentDp = x;
if (lastDp >= 0) {
currentDp += lastDp;
}
maxSum = max (maxSum, currentDp);
lastDp = currentDp;
}
fout << maxSum;
return 0;
}