Cod sursa(job #2666872)
| Utilizator | Data | 2 noiembrie 2020 16:07:51 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main() {
int N, i, st, dr, maxi= -(1 << 29), suma = 0, poz = 1, x;
fin >> N;
for (i = 1; i <= N; i++) {
fin >> x;
if(suma < 0) {
suma = x;
poz = i;
} else
suma =suma+x;
if(suma> maxi) {
maxi = suma;
st = poz;
dr = i;
}
}
fout << maxi << " " << st << " " << dr << "\n";
return 0;
}
