Pagini recente » Cod sursa (job #2310513) | Cod sursa (job #1730597) | Cod sursa (job #2612290) | Cod sursa (job #3238547) | Cod sursa (job #2394401)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long long n, val;
vector<long long> v;
long long global_max, max_so_far;
long long start_index, end_index, tmp_index;
int main()
{
f >> n;
for (int i = 0; i < n; i++) {
f >> val;
v.push_back(val);
}
global_max = -9999999999;
max_so_far = 0;
start_index = -1;
end_index = -1;
tmp_index = -1;
for (int i = 0; i < n; i++) {
max_so_far += v[i];
if (max_so_far < 0) {
max_so_far = 0;
tmp_index = i + 1;
}
else if (max_so_far > global_max) {
global_max = max_so_far;
start_index = tmp_index;
end_index = i;
}
}
g << global_max << " " << start_index + 1 << " " << end_index + 1 << "\n";
f.close();
g.close();
return 0;
}