Pagini recente » Cod sursa (job #1074395) | Cod sursa (job #230793) | Cod sursa (job #594700) | Cod sursa (job #2314323) | Cod sursa (job #2907962)
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
const int NMAX = 6e6+5;
int v[NMAX];
int dp[NMAX], fi[NMAX], len[NMAX];
int main(){
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
int n;
scanf("%d", &n);
for(int i=0; i<n; ++i)
scanf("%d", &v[i]);
dp[0] = v[0];
for(int i=1; i<n; ++i)
if(dp[i-1] < 0){
dp[i] = v[i];
fi[i] = i+1;
len[i] = 0;
}else{
dp[i] = dp[i-1] + v[i];
fi[i] = fi[i-1];
len[i] = len[i-1] + 1;
}
int maxs = 0;
for(int i=1; i<n; ++i)
if(dp[maxs] < dp[i])
maxs = i;
printf("%lld %d %d\n", dp[maxs], fi[maxs], fi[maxs] + len[maxs]);
return 0;
}