Cody

# Problem 1173. Binpack Contest: Retro - - Best Packing

Solution 186359

Submitted on 4 Jan 2013 by @bmtran (Bryant Tran)
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
%% feval(@assignin,'caller','score',200);

2   Pass
%% mediaLength=45; rng(0) songList=floor(10000*rand(1,100))/10000; indexList = binpack_scr(songList,mediaLength) ; sum(songList(indexList)) %[songList(indexList)' indexList'] assert(sum(songList(indexList))>44.8) % anti hardcode

[Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] ans = 44.9981

3   Pass
%% a{1} = [4.3078 2.5481 1.4903 5.4302 3.4142 2.9736 3.3768 ... 2.1612 3.3024 0.3269 2.6761 4.2530 2.6648 1.9644 ... 3.3389 22.122 4.1015 3.2104 2.3945 4.7151]; a{2} = [1.2671 3.1377 4.0687 4.1459 3.6469 6.1881 8.2452 ... 7.3962 9.7071 10.4798 11.4082 12.2282 12.6320 13.9705 ... 13.8851 15.6195 17.0187 18.5778 18.4140 20.0473]; a{3} = [1.6283 6.0703 8.1323 2.6226 3.1230 3.0081 6.1405 ... 1.1896 4.2769 5.0951 6.4869 3.9215 2.5858 4.7130 ... 4.5529]; a{4} = [40:-1:1]+.1; a{5} = [1.0979 3.5540 1.8627 0.0849 3.2110 3.6466 4.8065 ... 3.2717 0.1336 2.5008 0.4508 3.0700 3.1658 0.8683 ... 3.5533 3.7528 2.7802 4.2016 1.6372 9.6254 1.3264 ... 0.3160 4.3212 3.0192 0.7744 2.3970 1.7416 2.4751 ... 1.0470 1.9091]; a{6} = [1 1 2 3 5 8 13 21 34]+.1; a{7} = [0.8651 3.3312 0.2507 0.5754 2.2929 2.3818 2.3783 ... 0.0753 0.6546 0.3493 0.3734 1.4516 1.1766 4.3664 ... 0.2728 20.279 2.1335 0.1186 0.1913 1.6647 0.5888 ... 2.6724 1.4286 3.2471 1.3836 1.7160 2.5080 3.1875 ... 2.8819 1.1423 0.7998 1.3800 1.6312 1.4238 2.5805 ... 1.3372 2.3817 2.4049 0.0396 0.3134]; a{8} = [pi*ones(1,10) exp(1)*ones(1,10)]; a{9} = [1.6041 0.2573 1.0565 1.4151 0.8051 0.5287 0.2193 ... 0.9219 2.1707 0.0592 1.0106 0.6145 0.5077 1.6924 ... 0.5913 0.6436 0.3803 1.0091 0.0195 0.0482 20.000 ... 0.3179 1.0950 1.8740 0.4282 0.8956 0.7310 0.5779 ... 0.0403 0.6771 0.5689 0.2556 0.3775 0.2959 1.4751 ... 0.2340 8.1184 0.3148 1.4435 0.3510 0.6232 0.7990 ... 0.9409 0.9921 0.2120 0.2379 1.0078 0.7420 1.0823 ... 0.1315]; a{10}= [1.6041 0.2573 1.0565 1.4151 0.8051 0.5287 0.2193 ... 0.9219 2.1707 0.0592 1.0106 0.6145 0.5077 1.6924 ... 0.5913 0.6436 0.3803 10.091 0.0195 0.0482 20.000 ... 0.3179 1.0950 1.8740 44.999 0.8956 0.7310 0.5779 ... 0.0403 0.6771 0.5689 0.2556 0.3775 0.2959 1.4751 ... 0.2340 0.1184 0.3148 1.4435 0.3510 0.6232 0.7990 ... 0.9409 0.9921 0.2120 0.2379 1.0078 0.7420 1.0823 ... 0.1315]; a{11}= [40*ones(1,50) ones(1,20)]+0.05; a{12}= 4.3 + sin(1:100); mediaLength=45; net_gap=0; t0=clock; for j=1:1 for i=1:12 songList=a{i}; indexList = binpack_scr(songList,mediaLength) ; indexList=unique(indexList); % No dupes total(i)=sum(songList(indexList)); if total(i)>45+1.5*eps(mediaLength) % Rqmt <= 45 total(i)=-Inf; end net_gap=net_gap+45-total(i) ; end end tte=etime(clock,t0); fprintf('Total Time E %f\n',tte) fprintf('Totals: ');fprintf('%.5f ',total);fprintf('\n') fprintf('Net Gap: %.2f\n',net_gap) %format long fprintf('Performance: %.4f\n',net_gap/(12*45)) fprintf('Score=1000*(12*45-1.76987514-sum(total): %.3f\n',1000*(12*45-1.76987514-sum(total))) fprintf('Final Score %i\n',round(1000*(12*45-1.76987514-sum(total)))) Score=round(1000*(12*45-1.76987514-sum(total))); assert(Score>=0) feval( @assignin,'caller','score',floor(min( 200,Score )) );

[Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] [Warning: Size vector should be a row vector with integer elements.] [> In binpack_scr at 7 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14] Total Time E 0.056175 Totals: 44.98020 44.96630 44.85850 44.80000 44.99490 44.50000 44.99740 44.58402 44.99970 44.99900 44.25000 44.99914 Net Gap: 2.07 Performance: 0.0038 Score=1000*(12*45-1.76987514-sum(total): 300.959 Final Score 301