Pagini recente » Cod sursa (job #1293604) | Cod sursa (job #2056819) | Cod sursa (job #2900561) | Cod sursa (job #2195332) | Cod sursa (job #3315358)
#include <fstream>
#include <vector>
std::ifstream fin("ssm.in");
std::ofstream fout("ssm.out");
int main() {
int n;
std::vector<int> v;
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] * 1LL;
if(current_sum < 0) {
current_sum = 0;
start = i + 1;
end = i + 1;
}
else {
if(max_sum < current_sum) {
max_sum = current_sum;
end = i;
}
}
}
fout << max_sum << ' ' << start + 1 << ' ' << end + 1;
return 0;
}