Cod sursa(job #1789917)
| Utilizator | Data | 27 octombrie 2016 17:12:08 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 65 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.68 kb |
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
freopen ("ssm.in", "r", stdin);
freopen ("ssm.out", "w", stdout);
int first = 1, last, sum = 0, MAXIsum = -2e9;
int UtilityF, UtilityL;
int load, cobai;
cin >> load;
for (int i = 1; i <= load; i++) {
cin >> cobai;
if (sum < 0) {
sum = cobai;
first = i;
} else {
sum += cobai;
last = i;
}
if (sum > MAXIsum) {
MAXIsum = sum;
UtilityF = first;
UtilityL = last;
}
}
cout << MAXIsum << " " << UtilityF << " " << UtilityL;
}
