Pagini recente » Cod sursa (job #1548056) | Cod sursa (job #1520147) | Cod sursa (job #179097) | Cod sursa (job #2780140) | Cod sursa (job #1453640)
#include <iostream>
#include <fstream>
#include <vector>
int main() {
int a, n, start = -1, end = -1, sum = -1, maxSum = -99999, st, max = -999999;
std::ifstream fin ("ssm.in");
std::ofstream fout ("ssm.out");
std::vector<int> v;
bool negative = true;
fin >> n;
for (int i = 1; i <= n; ++i) {
fin >> a;
v.push_back (a);
}
for (int i = 0; i < n; ++i) {
if (v[i] > 0) {
negative = false;
break;
}
if (v[i] > max) {
max = v[i];
start = end = i + 1;
}
}
if (negative) {
fout << max << " " << start << " " << end << "\n";
return 0;
}
for (int i = 1; i <= n; ++i) {
if (sum < 0) {
sum = 0;
st = i + 1;
}
if (sum > maxSum) {
maxSum = sum;
start = st;
end = i;
}
sum += v[i];
}
fout << maxSum << " " << start << " " << end << "\n";
return 0;
}