Pagini recente » Monitorul de evaluare | Cod sursa (job #944738) | Cod sursa (job #2291485) | Cod sursa (job #1348340) | Cod sursa (job #3344605)
#include <iostream>
#define NMAX 6000000U
int main()
{
int n;
int start_index, end_index;
int sum, max_sum;
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
std::cin >> n;
start_index = 0;
end_index = 0;
sum = 0;
max_sum = 1 << 31; // INT_MIN
for (int x, i = 0, j = 0; j < n; ++j) {
std::cin >> x;
if (sum + x >= x) {
sum += x;
} else {
sum = x;
i = j;
}
if (sum > max_sum) {
max_sum = sum;
start_index = i;
end_index = j;
}
}
std::cout << max_sum << ' ' << start_index + 1 << ' ' << end_index + 1 << "\n";
return 0;
}