Pagini recente » Cod sursa (job #2535910) | Cod sursa (job #356272) | Cod sursa (job #275710) | Cod sursa (job #327807) | Cod sursa (job #2197365)
#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 maxim = 0;
int minim = 0;
int sumaMaxima = INT_MIN;
int iMax;
int iMin;
for (int i = 1; i <= n; ++i) {
sir[i] += sir[i - 1];
}
for (int i = 1; i <= n; ++i) {
for (int j = 1; j < i; ++j) {
/// Daca s[i] - s[j] > sumaMaxima atunci
/// Inlocuieste bestul curent si retine indicele maximului
if (sir[i] - sir[j] > sumaMaxima) {
sumaMaxima = sir[i] - sir[j];
iMax = i;
iMin = j + 1;
}
}
}
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] << ' ';
}
}