Pagini recente » Cod sursa (job #1786466) | Cod sursa (job #1478153) | Cod sursa (job #2500498) | Cod sursa (job #1111582) | Cod sursa (job #2197379)
#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 minim = 0;
int sumaMaxima = INT_MIN;
int iMax;
int iMin = 0;
int index;
for (int i = 1; i <= n; ++i) {
sir[i] += sir[i - 1];
}
// cout << "b";
for (int i = 1; i <= n; ++i) {
// cout << "a";
if (sir[i] - minim > sumaMaxima) {
// cout << "b";
sumaMaxima = sir[i] - minim;
iMin = index + 1;
iMax = i;
}
//// cout << "n";
if (sir[i] < minim) {
minim = sir[i];
index = i;
}
}
g << sumaMaxima << ' ';
g << iMin << ' ' << iMax << '\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] << ' ';
}
}