Cod sursa(job #2965232)
Utilizator | Data | 14 ianuarie 2023 18:16:27 | |
---|---|---|---|
Problema | Parantezare optima de matrici | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include <bits/stdc++.h>
using namespace std;
const int nmx = 501;
#define ll long long
ifstream fin("podm.in");
ofstream fout("podm.out");
#define cin fin
#define cout fout
int main(){
int n;
cin >> n;
n++;
vector<int> a(n);
for(int i=0;i<n;i++){
cin >> a[i];
}
int64_t ans = 0;
for(;;){
int mx = 0, mxi=-1;
for(int j=1;j<a.size()-1;j++){
if(mx < a[j]){
mx = a[j];
mxi = j;
}
}
if(mxi==-1)
break;
ans += a[mxi]* 1ll * a[mxi-1] * a[mxi+1];
a.erase(a.begin()+mxi);
}
cout << ans;
}