
//Accepted 1428 KB 62 ms // #include <cstdio> #include <cstring> #include <iostream> using namespace std; ; int l[imax_n]; int r[imax_n]; int a[imax_n]; int n; void Dp() { l[]=; a[]=-; ;i<=n;i++) { int t=i; ]) { t=l[t-]; } l[i]=t; } r[n]=n; a[n+]=-; ;i>=;i--) { int t=i; ]) { t=r[t+]; } r[i]=t; } __int64 ans=; ;i<=n;i++) { )>ans) ans=(__int64 )a[i]*(r[i]-l[i]+); } printf("%I64d\n",ans); } int main() { while (scanf("%d",&n),n) { ;i<=n;i++) scanf("%d",&a[i]); Dp(); } ; }