Cod sursa(job #3148241)

Utilizator thinkphpAdrian Statescu thinkphp Data 30 august 2023 06:14:38
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>
#include<vector>
using namespace std;
#define ll long long
const ll MAX=1LL<<60;
int n;
ll a[505][505];
vector <int> b;
int main()
{
	freopen("podm.in","r",stdin);
	
	freopen("podm.out","w",stdout);
	
	scanf("%d",&n);
	
	for(int i=0;i<=n;i++)
	{
		int x;
		scanf("%d",&x);
		b.push_back(x);
	}
	
	for(int l=1;l<=n;l++)
	{
		for(int i=1;i+l<=n;i++)
		{
			int j=i+l;
			a[i][j]=MAX;
			for(int k=i;k<j;k++)
			{
				a[i][j]=min(a[i][k]+a[k+1][j]+(ll)b[i-1]*b[k]*b[j],a[i][j]);
			}
		}
	}
	printf("%Ld\n",a[1][n]);
	return 0;
}