Pagini recente » Cod sursa (job #2333055) | Cod sursa (job #3267113) | Cod sursa (job #1117198) | Cod sursa (job #3004885) | Cod sursa (job #2197384)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("ssm.in");
ofstream g ("ssm.out");
int n;
int sir[6000005];
void citire();
void afisare();
void rezolvare() {
int sumaMaxima = INT_MIN;
int start, stop;
int minim = 0;
int index;
for (int i = 1; i <= n; ++i) {
sir[i] += sir[i - 1];
if (sir[i] - minim > sumaMaxima) {
sumaMaxima = sir[i] - minim;
start = index + 1;
stop = i;
}
if (minim > sir[i]) {
minim = sir[i];
index = i;
}
}
g << sumaMaxima << ' ';
g << start << ' ' << stop << '\n';
//afisare();
}
int main()
{
citire();
//afisare();
rezolvare();
return 0;
}
void citire() {
f >> n;
for (int i = 1; i <= n; ++i) {
f >> sir[i];
}
}
void afisare() {
for (int i = 1; i <= n; ++i) {
g << sir[i] << ' ';
}
}