Food combination (ZOJ Problem Set - 2861)

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2861

問題

食べ物がN種類あり、それぞれの価格は2^0円,2^1円,2^2円、…2^(n-1)円となっている。L種類まで食べれる時、価格の合計がM番目になる食べ物の選び方をすると価格はいくらになるか?
1<=N<=31
1<=L<=N

解法

現在存在する一番高い食べ物を食べた場合にM番目以降になるか、以前になるかを調べていけば良い。