#include using namespace std; long largestValue(vector a) { long n=a.size(),i; long dp[n]={0}; long sum[n],prev=0,maxi=0; // Dp state is i,j // i is start index // j is length is subarray- we can compute end index for(i=0;i=0;i--) {dp[i][i+1]=a[i]*a[i+1]; // base case maxi=max(maxi,dp[i][i+1]); } */ long j;// k used fr length for(i=n-3;i>=0;i--) { dp[i+1]=a[i]*a[i+1]; for(j=i+2;j> n; vector A(n); for(int A_i = 0; A_i < n; A_i++){ cin >> A[A_i]; } long result = largestValue(A); cout << result << endl; return 0; }