Cod sursa(job #1524188)
| Utilizator | Data | 13 noiembrie 2015 17:10:09 | |
|---|---|---|---|
| Problema | Parantezare optima de matrici | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <cstdio>
using namespace std;
int v[501],v1[501];
int min1(int a,int b)
{
if (a<b) return a;
return b;
}
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
int n;
scanf("%d ",&n);
///4
///(13 5) (5 89) (89 3) (3 34)
for (int i=1;i<=n+1;i++)
{
scanf("%d ",&v[i]);
if (i>3)
{
v1[i]=min1(v[i]*v[i-1]*v[i-2]+v1[i-3]+v[1]*v[i-2]*v[i],v[1]*v[i-1]*v[i]+v1[i-1]);
}
else v1[i]=0;
}
printf("%d",v1[n+1]);
}
