Pagini recente » Cod sursa (job #532174) | Cod sursa (job #684604) | Cod sursa (job #2733123) | Cod sursa (job #238797) | Cod sursa (job #968695)
Cod sursa(job #968695)
#include <iostream>
#include <fstream>
#include <cmath>
#include <vector>
#include <bitset>
#include <queue>
#include <deque>
#include <list>
#include <set>
#include <ctime>
#include <string>
#include <cstring>
#include <iomanip>
#include <algorithm>
using namespace std;
ifstream ff("podm.in");
ofstream gg("podm.out");
#define max 505
int n, mm[max][max], dd[max];
void sol(){
int l, r, s;
for(int i=1;i<n;i++) mm[i][i+1]=dd[i]*dd[i+1]*dd[i+2];
for(int j=3;j<=n;j++)
for(int i=1;i+j-1<=n;i++){
l=i; r=i+j-1;
for(int m=l;m<r;m++){
s=mm[l][m]+mm[m+1][r]+dd[l]*dd[m+1]*dd[r+1];
if(mm[l][r]==0 || s<mm[l][r])mm[l][r]=s;
}
}
gg << mm[1][n] << "\n";
}
int main(){
ff >> n;
for(int i=1;i<=n+1;i++) ff >> dd[i];
sol();
}