#include #include #include #include #include using namespace std; int main(void) { ifstream fin("feel.in"); int n; while(fin >> n, n) { vector a(n+2), s(n+2); vector u(n+2), v(n+2); stack _stack; for(int i = 1; i <= n; i++) fin >> a[i]; a[0] = 0; a[n+1] = -1; s[0] = 0; for(int i = 1; i <= n; i++) s[i] = s[i-1] + a[i]; _stack.push(n + 1); for(int i = n; i >= 1; i--) { int j = _stack.top(); while(a[i] <= a[j]) { u[j] = i; _stack.pop(); j = _stack.top(); } v[i] = j - 1; _stack.push(i); } { int j = _stack.top(); while(j <= n) { u[j] = 0; _stack.pop(); j = _stack.top(); } } long long m = -1; int k = 0; for(int i = 1; i <= n; i++) { long long value = (s[v[i]] - s[u[i]]) * a[i]; if(m < value) { m = value; k = i; } } cout << m << endl << u[k] + 1 << " " << v[k] << endl; } return 0; }