#include void main(){ // 変数宣言 int boxWidth = 0; int blockNum = 0; int blockWidth[10000]; int ans=0; // L 大きな箱の幅を表す scanf("%d\n",&boxWidth); // N ブロックの数を表す scanf("%d\n",&blockNum); // W1 W2...WN 各ブロックの幅を表す for(int i=0;iblockWidth[cnt+1]){ put = blockWidth[cnt]; blockWidth[cnt]=blockWidth[cnt+1]; blockWidth[cnt+1]=put; flg=1; } cnt++; if(cnt >= blockNum){ if(flg == 0){ break; }else{ cnt=0; flg=0; } } } // ブロックをはめる int blockSum=0; for(int i=0;blockSum>boxWidth;i++){ blockSum+=blockWidth[i]; ans++; } printf("%d",ans); }