Cod sursa(job #649445)
#include <fstream>
#include <vector>
#define INFILE "ssm.in"
#define OUTFILE "ssm.out"
using namespace std;
int main()
{
vector<int> v;
int n;
ifstream fin(INFILE);
ofstream fout(OUTFILE);
fin >> n;
int k;
for (int i = 0; i < n ; ++i) {
fin >> k;
v.push_back(k);
}
fin.close();
int stanga = 0;
int start, end;
int max = v[0];
int sum = 0;
int i = 0;
for(vector<int>::iterator it = v.begin(); it != v.end(); ++it, ++i) {
if (sum < 0){
sum = *it;
stanga = i;
}
else
sum += *it;
if (sum > max) {
start = stanga;
end = i;
max = sum;
}
}
fout << max << " " << start + 1 << " " << end + 1 << endl;
fout.close();
return 0;
}