Cod sursa(job #1903313)

Utilizator Claudiu07Pana Claudiu Claudiu07 Data 5 martie 2017 09:40:01
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
int n, a[501];
unsigned long long d[501][501],minm;
int main()
{
    f>>n;
    for(int i=1; i<=n+1; i++)
        f>>a[i];
     for(int i=1; i<=n; i++) d[i][i]=0;
    for(int j=1; j<=n-1; j++)
        d[j][j+1]=a[j]*a[j+1]*a[j+2];
     for(int i=2; i<=n-1; i++)
        for(int j=1; i+j<=n; j++)
     {
          minm =999999999999999999;
         for(int k=j; k<i+j; k++)
         {
             if(minm>d[j][k]+d[k+1][i+j]+a[j]*a[k+1]*a[j+i+1]) minm=d[j][k]+d[k+1][i+j]+a[j]*a[k+1]*a[j+i+1];
         }
         d[j][i+j]=minm;
     }
     g<<d[1][n]<<'\n';
}