Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int main()
- {
- int n,i,j; int val[2001];
- cin >> n;
- val[0]=0;
- for(i=1;i<=n;i++)
- cin >> val[i];
- int dp[2001][2001]={0};
- for(i=1;i<=n;i++)
- dp[i][0]=dp[i-1][0]+i*val[i];
- for(i=1;i<=n;i++)
- dp[0][i]=dp[0][i-1]+i*val[n-i+1];
- for(i=1;i<=n;i++)
- for(j=1;j<=n;j++)
- {
- if(i+j>n) continue;
- int val1= dp[i-1][j]+ (i+j)*val[i];
- int val2= dp[i][j-1]+ (i+j)*val[n-j+1];
- dp[i][j]=val1>val2? val1:val2;
- }
- int Max=0;
- for(i=0;i<=n;i++)
- for(j=0;j<=n;j++)
- if(dp[i][j]>Max)
- Max=dp[i][j];
- cout << Max;
- return 0;
- }
Add Comment
Please, Sign In to add comment