Pagini recente » Cod sursa (job #2633988) | Cod sursa (job #1263623) | Cod sursa (job #1273083) | Cod sursa (job #2614805) | Cod sursa (job #2971963)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main() {
const int MAX_LENGTH = 6000000;
int n, v[MAX_LENGTH + 1], sp[MAX_LENGTH + 1];
fin >> n;
int ok = 0, s = 0;
for (int i = 1; i <= n; ++i) {
fin >> v[i];
s += v[i];
if (v[i] < 0) {
++ok;
}
}
if (ok) {
sp[0] = 0;
sp[1] = v[1];
long long maxim = -5000000000;
for (int i = 2; i <= n; ++i) {
sp[i] = sp[i - 1] + v[i];
}
int sum, i1 = 0, i2 = 0;
for (int i = 1; i <= n; ++i) {
for (int j = n; j >= i; --j) {
sum = 0;
sum = sp[j] - sp[i - 1];
if (sum > maxim) {
i1 = i;
i2 = j;
maxim = sum;
}
}
}
fout << maxim << " " << i1 << " " << i2;
} else {
fout << s;
}
return 0;
}