Pagini recente » Cod sursa (job #3327429) | Cod sursa (job #3309718) | Cod sursa (job #3338929) | Cod sursa (job #3311685) | Cod sursa (job #3342540)
#include <bits/stdc++.h>
using namespace std;
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
int n;
scanf("%d", &n);
int result = INT_MIN, left_max = 1, right_max = 1;
int current_sum = 0, current_left = 1;
for(int i = 1; i <= n; i++){
int number;
scanf("%d", &number);
current_sum += number;
if(current_sum > result || (current_sum == result && (left_max > current_left || (right_max - left_max + 1 > i - current_left + 1)))){
result = current_sum;
left_max = current_left;
right_max = i;
}
if(current_sum < 0){
current_sum = 0;
current_left = i + 1;
}
}
printf("%d %d %d", result, left_max, right_max);
return 0;
}