Pagini recente » Cod sursa (job #1348309) | Cod sursa (job #2358875) | Cod sursa (job #2692312) | Cod sursa (job #1189821) | Cod sursa (job #3292265)
#include <iostream>
#include <fstream>
#include <iterator>
#include <vector>
int main() {
std::ifstream fin("ssm.in");
std::ofstream fout("ssm.out");
int n;
fin >> n;
std::vector<int>arr;
std::vector<int>elements;
std::istream_iterator<int>it(fin);
elements.push_back(*it);
arr.push_back(*(it++));
int maxim = arr.back();
size_t end_index = 0;
for (; it != std::istream_iterator<int>(); it++) {
elements.push_back(*it);
arr.push_back(*it >= arr.back() + *it ? *it : *it + arr.back());
if (maxim < arr.back()) {
maxim = arr.back();
end_index = arr.size() - 1;
}
}
size_t start_index = end_index;
while (arr[start_index] != elements[start_index]) {
--start_index;
}
fout << arr[end_index] << " " << start_index + 1 << " " << end_index + 1;
fin.close();
fout.close();
return 0;
}