競技プログラミング用 知識集積所
ABC446B - Greedy Draft
最終更新:
sport_programming
-
view
問題
必要知識
A問題レベルのものは省略
考え方
基本的には問題の指示通りにやるだけ。
ポイントは、それぞれのジュースが残っているかどうかの判定方法と、長さが毎回異なる二次元vector※の扱い。
ポイントは、それぞれのジュースが残っているかどうかの判定方法と、長さが毎回異なる二次元vector※の扱い。
前者は、bool型を収めるvectorを用意すればよい。
長さMのものを用意して、「0番を飲み物1用、1番を飲み物2用、……」としてもよいが、少しややこしい。
0番を特に意味のないデータとして、長さM+1のvectorを用意してしまう方がわかりやすい。
長さMのものを用意して、「0番を飲み物1用、1番を飲み物2用、……」としてもよいが、少しややこしい。
0番を特に意味のないデータとして、長さM+1のvectorを用意してしまう方がわかりやすい。
後者は、Lの値を受け取った時に二次元vector※の該当部分を毎回resizeするか、長さ0で用意しておいて.emplace_back()で追加していくことになる。