Pagini recente » Cod sursa (job #1691747) | Cod sursa (job #3253048) | Cod sursa (job #1067748) | Cod sursa (job #2527054) | Cod sursa (job #3315361)
#include <fstream>
#include <vector>
#include <climits>
std::ifstream fin("ssm.in");
std::ofstream fout("ssm.out");
std::vector<long long> v;
int main() {
int n;
fin >> n;
v.resize(n);
for(int i = 0; i < n; ++i) {
fin >> v[i];
}
long long max_sum = INT_MIN, current_sum = 0;
int start = 0, end = 0;
for(int i = 0; i < n; ++i) {
current_sum += v[i];
if(current_sum < 0) {
if(max_sum < current_sum) {
max_sum = current_sum;
start = i;
end = i;
}
else {
start = i + 1;
end = i + 1;
}
current_sum = 0;
}
else {
if(max_sum < current_sum) {
max_sum = current_sum;
end = i;
}
}
}
fout << max_sum << ' ' << start + 1 << ' ' << end + 1;
return 0;
}