#include <iostream>
#include <vector>
#include <fstream>
#include <limits.h>
using namespace std;
int main(){
ifstream in;
ofstream out;
in.open("ssm.in");
out.open("ssm.out");
vector<int> v;
int n;
in>>n;
// cout<<n<<" ";
for(int i = 0; i<n;i++)
{
int x;
in >> x;
//cout<<x<<" ";
v.push_back(x);
}
vector<int> dp(n,0);
int start = 1;
int end = 1;
dp[0]=v[0];
int maxi = dp[0];
for(int i = 1; i<n;i++){
if(dp[i-1]<0){dp[i]=v[i];
start = i;}
else {dp[i]=dp[i-1]+v[i];
end = i;}
if(dp[i]>maxi)maxi = dp[i];
}
out << maxi<<" "<<start+1<<" "<<end+1;
}