#include int max(int a,int b) { return a>b?a:b; } int guillotine(int n, int lar[], int hau[], int uti[], int L, int H) { int f[L+1][H+1], l,h,k,x,y; for(l=0;l<=L;l++) for(h=0;h<=H;h++) f[l][h]=0; for(k=0;kx) x=y; for(k=1;k<=h-k;k++) if((y=f[l][k]+f[l][h-k])>x) x=y; f[l][h]=x; } void opt(int l, int h) { int x=f[l][h], k; for(k=1;k