# C - 積み重ね (opens new window)
# 概要
- 個のダンボールの重さが順に与えられ, それを順に積んでいく
- 上に積まれているものより重いものを下に置かなければならない
- 積み重ねる山の個数の最小値を求めよ
# 思考
- ソートして脳死数え上げ?
- テストケースに違和感がある
- 与えられた順に積まなければならないらしい
- 最小値をもっておけば良いのでは?
vector<stack>
?- 一番上だけ持っていればおk
priority_queue< int, vector<int>, greater<int> >
で実現できそう- 実装
- AC!
# 気づいたこと・感想
- テストケースが理解できないときは大抵誤読
- この問題は分かりにくいが
- priority_queueのtop最小値は,
priority_queue< int, vector<int>, greater<int> >
greater<int>()
と書くのはsort
するとき