公式

A - ダンジョン探索 / Dungeon Exploration 解説 by MMNMM


初心者の方へ

この問題は、それぞれのモンスターを順に見て、「現在の高橋君の体力」を管理しながら if 文などを用いて体力に応じた処理を行うことで解くことができます。

実装例は以下のようになります。

#include <iostream>

int main() {
    using namespace std;
    int N, P;
    cin >> N >> P;

    int ans = 0;
    for (int i = 0; i < N; ++i) {
        int H;
        cin >> H;
        if (P >= H) { // 現在の高橋君の体力がモンスターの強さ以上なら
            ++ans; // モンスターを倒して
            P -= H; // 体力が H 減る
        } else { // そうでなければ
            P += H; // 体力が H 増える
        }
    }
    cout << ans << endl;
    return 0;
}
N, P = map(int, input().split())

ans = 0
for H in map(int, input().split()):
    if P >= H: # 現在の高橋君の体力がモンスターの強さ以上なら
        ans += 1 # モンスターを倒して
        P -= H # 体力が H 減る
    else: # そうでなければ
        P += H # 体力が H 増える

print(ans)

投稿日時:
最終更新: