Pagini recente » Cod sursa (job #16802) | Cod sursa (job #1250) | Cod sursa (job #108732) | Cod sursa (job #2616386) | Cod sursa (job #3249916)
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
int main()
{
ifstream input ("ssm.in");
ofstream output ("ssm.out");
int n;
input>>n;
vector<int> tomb(n);
for (int i=0; i<n; i++)
input>>tomb[i];
vector<int> s(n);
s[0]=tomb[0];
int beg_index=0, end_index=0, s_max=tomb[0], last_beg_index = 0;
for (int i=1; i<n; i++){
if(s[i-1] + tomb[i] >= tomb[i]){
s[i] = s[i-1] + tomb[i];
}
else{
s[i] = tomb[i];
last_beg_index = i;
}
if (s[i]>s_max){
s_max=s[i];
beg_index = last_beg_index;
end_index = i;
}
}
output<<s_max<<" "<<beg_index+1<<" "<<end_index+1;
return 0;
}