Cod sursa(job #2086905)

Utilizator Lazar_LaurentiuLazar Laurentiu Lazar_Laurentiu Data 12 decembrie 2017 17:49:20
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#define MAX 510
#define VMAX 1000000000

using namespace std;
typedef long long ll;

ll n,a[MAX],ans[MAX][MAX];

int main()
{
    ifstream f ("podm.in");
    ofstream g ("podm.out");
    f>>n;
    for(int i=1;i<=n+1;i++)f>>a[i];
    for(int l=2;l<=n;l++){
      for(int i=1;i<=n-l+1;i++){
        ll j=i+l-1;
        ans[i][j]=VMAX;
        for(int k=i;k<j;k++)
          ans[i][j]=min(ans[i][j],ans[i][k]+ans[k+1][j]+a[i]*a[k+1]*a[j+1]);
      }
    }
    g<<ans[1][n];
    f.close ();
    g.close ();
    return 0;
}