問題はこちら制約の中で最大値を求める問題のため、貪欲法が適用できそうだとアタリを付けます。実行可能な日雇いアルバイトの中で、最大値を常に選択すれば、最大値になりそうです。1日目から順に実行可能な最大報酬の日雇いアルバイトを選んで行くと、数日後に次点で最大報酬だが実行不可能なアルバイトが出てきた場合に最適解とはなりません。二日目に実行可能なアルバイトがなくなるため最適解ではないです。上の例で問題なのは実行可能であったはずなのに実行不可能なアルバイトが途中で出てしまうことです。これは、1日目から選んでいくのではなく、最終日から選んでいくことで解決できます。最終日から選ぶことで、実行不可能な日雇いアルバイトが出ることはありません。日にちを戻るにつれて、実行可能な日雇いアルバイトが増えていくことになります。以上を最善手として、コードにすれば良いです。endl;}同じ日雇いアルバイトは実行不可能なため、priority_queueを使って実行済みアルバイトを取り除くとスッキりします。Object個人ゲーム開発者りつか個人でゲーム開発してます。Unityを中心にゲーム開発で学んだ事をブログに書いていきます。りつかのゲーム開発ブログ。