Cod sursa(job #2636276)
Utilizator | Ciocoiu Vlad vlad082002 | Data | 17 iulie 2020 14:03:47 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, s, st, curr, best = -2e9, stmax, drmax;
void solve() {
for(int i = 1; i <= n; i++) {
fin >> s;
curr += s;
if(curr < 0) {
curr = 0;
st = i+1;
}
if(curr > best) {
best = curr;
stmax = st;
drmax = i;
}
}
}
int main() {
fin >> n;
solve();
fout << best << ' ' << stmax << ' ' << drmax;
}