Cod sursa(job #2760408)
Utilizator | brebenel mihnea stefan tryharderul | Data | 26 iunie 2021 10:01:41 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <bits/stdc++.h>
using namespace std;
int n;
int main(){
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d", &n);
int st, dr;
int l = 1;
int hmax = -INT_MAX, s = 0;
for (int i = 1; i <= n; i++) {
int x;
scanf("%d", &x);
if (x > s + x) {
s = x;
l = i;
} else {
s += x;
}
if (hmax < s) {
hmax = s;
st = l;
dr = i;
}
}
printf("%d %d %d", hmax, st, dr);
return 0;
}