Advertisement
deushiro

xd

Nov 24th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. vector<int> a;
  6. map<pair<int, int>, int> m;
  7.  
  8.  
  9. int rec(int l, int r){
  10.     if(m.count({l, r})){
  11.         return m[{l, r}];
  12.     }
  13.     if(r - l <= 1){
  14.         return 0;
  15.     }
  16.     int ans = 1e9;
  17.     for(int i = l + 1; i < r; ++i){
  18.         int sum = rec(l, i) + rec(i, r) + a[i] * (a[l] + a[r]);
  19.         ans = min(ans, sum);
  20.     }
  21.     m[{l, r}] = ans;
  22.     return ans;
  23. }
  24.  
  25. int main() {
  26.     ios_base::sync_with_stdio;
  27.     cin.tie(0);
  28.     cout.tie(0);
  29.     int n;
  30.     cin >> n;
  31.     a.resize(n);
  32.     for(int i = 0; i < n; ++i){
  33.         cin >> a[i];
  34.     }
  35.     cout << rec(0, n - 1);
  36.  
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement