Cod sursa(job #3252780)

Utilizator MogoneaMIhneaMogonea Mihnea Mihai MogoneaMIhnea Data 31 octombrie 2024 00:37:19
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
long long n,mini,i,j,k,aux;
long long v[1001],mat[1001][1001];
int main(){
    fin>>n;
    for(i=1;i<=n+1;i++)
        fin>>v[i];
    for(i=1;i<=n-1;i++){
        j=i+1;
        mat[i][j]=v[i]*v[i+1]*v[i+2];
    }
    for(i=n-2;i>=1;i--)
      for(j=i+2;j<=n;j++){
            mini=LLONG_MAX;
            for(k=i;k<j;k++){
                aux=mat[i][k]+mat[k+1][j]+v[i]*v[k+1]*v[j+1];
                mini=min(mini,aux);
            }
            mat[i][j]=mini;
        }
    fout<<mat[1][n];
}







/*v:2 3 5
 mat: 2 2=0
      3 4=9078
24208

v:2 4 5 = 510
mat: 2 3=1335
     4 4=0
1845

v: 1 2 4=195
mat: 1 1=0
     2 3=1335


v:1 3 4=3471
mat:1 2=5785
    3 3=0
9256
*/