Cod sursa(job #2601382)
Utilizator | Lorintz Alexandru Alex_tz307 | Data | 14 aprilie 2020 13:31:28 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <bits/stdc++.h>
using namespace std;
#define FOR(i, a, b) for (int i = (a); i <= (b); ++ i)
ifstream f("ssm.in");
ofstream g("ssm.out");
int main()
{
int n, S;
int bestSum = -int(2e9), sum = 0, beg, end, idx;
f >> n;
FOR (i, 1, n)
{
f >> S;
if (sum < 0) sum = S, idx = i;
else sum += S;
if (bestSum < sum) bestSum = sum, beg = idx, end = i;
}
g << bestSum << " " << beg << " " << end;
f.close();
g.close();
return 0;
}