Pagini recente » Cod sursa (job #1758393) | Cod sursa (job #2705192) | Cod sursa (job #2632482) | Cod sursa (job #1419340) | Cod sursa (job #613420)
Cod sursa(job #613420)
#include<stdio.h>
#define MaxN 502
#define ll long long
const ll INF = 1LL*600*600*600*600*1931;
ll N,q,P[MaxN],A[MaxN][MaxN];
int main()
{
FILE *f = fopen("podm.in","r");
FILE *g = fopen("podm.out","w");
fscanf(f,"%d ",&N);
for(int i=0;i<=N;i++)
fscanf(f,"%d ",&P[i]);
for(int i=2;i<=N;i++)
for(int j=1;j<=N-i+1;j++)
{
A[j][i+j-1] = INF;
for(int k=j;k<i+j-1;k++)
if(A[j][i+j-1] > A[j][k] + A[k+1][i+j-1] + 1LL*P[j-1]*P[k]*P[i+j-1])
A[j][i+j-1] = A[j][k] + A[k+1][i+j-1] + 1LL*P[j-1]*P[k]*P[i+j-1];
}
fprintf(g,"%llu",A[1][N]);
fclose(g);
fclose(f);
return 0;
}