Pagini recente » Cod sursa (job #581245) | Cod sursa (job #984404) | Cod sursa (job #2237604) | Cod sursa (job #756028) | Cod sursa (job #3315360)
#include <fstream>
#include <vector>
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 = v[0], current_sum = v[0];
int start = 0, end = 0;
for(int i = 1; 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;
}