Pagini recente » Cod sursa (job #2575158) | Cod sursa (job #1053617) | Cod sursa (job #1378495) | Cod sursa (job #3040667) | Cod sursa (job #3145129)
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
const int n = 6000000;
int v[n+2];
int dp[n+2];
int main(){
int length;
int start = 1;
int end = 1;
cin >> length;
for (int i = 1; i <= length ; i++){
cin >> v[i];
}
long long max_sum = -100000000000000;
for (int i = 1; i <= length; i++){
dp[i] = max(dp[i-1] + v[i], v[i]);
if (dp[i] < 0){
start = i+1;
}
if (dp[i] >= max_sum){
if (dp[i] == (dp[i-1] + v[i])){
end = i;
} else {
start = i;
end = i;
}
max_sum = dp[i];
}
}
cout << max_sum << " " << start << " " << end;
}