Cod sursa(job #2694309)
Utilizator | Data | 8 ianuarie 2021 18:52:51 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <bits/stdc++.h>
using namespace std;
#define x1 "ssm.in"
#define x2 "ssm.out"
ifstream in(x1);
ofstream out(x2);
int main() {
long long n, i, nr, s = 0, maxi = LONG_LONG_MIN, st1 = 1, st, dr;
in >> n;
for(i = 1 ; i <= n ; i++) {
in >> nr;
s += nr;
if(s > maxi) {
maxi = s;
st = st1;
dr = i;
}
if(s < 0) {
s = 0;
st1 = i + 1;
}
}
out << maxi << ' ' << st << ' ' << dr;
}