hdu1506 dp

时间:2023-03-09 15:06:54
hdu1506 dp
 //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();
     }
     ;
 }