Pagini recente » Cod sursa (job #2885352) | Cod sursa (job #439736) | Istoria paginii runda/eusebiu91 | Cod sursa (job #1094150) | Cod sursa (job #1921851)
#include <fstream>
using namespace std;
int main()
{
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n;
fin >> n;
int max_sum = -(1 << 30);
int res_left = -1, res_right = -1;
int curr_sum = 0;
int left = 1;
for (int i = 1; i <= n; ++i) {
int val;
fin >> val;
curr_sum += val;
if (val > curr_sum) {
curr_sum = val;
left = i;
}
if (curr_sum > max_sum) {
max_sum = curr_sum;
res_left = left;
res_right = i;
}
if (curr_sum < 0) {
curr_sum = 0;
left = i + 1;
}
}
fout << max_sum << " " << res_left << " " << res_right << "\n";
return 0;
}