Cod sursa(job #2693295)
| Utilizator | Data | 5 ianuarie 2021 14:16:51 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long long n, i, j = 1, a, sp = 0, sm = 0, maxi, st, dr;
int main()
{
f >> n >> a;
sp = a;
maxi = sp;
st = dr = 1;
if (sp < sm) {
sm = sp;
j = 2;
}
for (i = 2; i <= n; i++) {
f >> a;
sp += a;
if (sp - sm > maxi) {
maxi = sp - sm;
st = j;
dr = i;
}
if (sp < sm) {
sm = sp;
j = i + 1;
}
}
g << maxi << ' ' << st << ' ' << dr;
return 0;
}
