解説

各駅でどのようなパターンが起こり得るかを考えると、以下の3パターンになります。

  • 乗客が降りるパターン
  • 乗客が乗るパターン
    • 定員を超えないパターン
    • 定員を超えるパターン

それぞれのパターンで何を行うかを考えると、以下のようになります。

  • 乗客が降りるパターン

    • 現在の乗客数から降りた人数を引く
    • 合計乗客数は変わらない
  • 乗客が乗り、定員を超えないパターン

    • 現在の乗客数に乗った人数を足す
    • 合計乗客数にも乗った人数を足す
  • 乗客が乗り、定員を超えるパターン

    • 現在の乗客数は定員になる
    • 合計乗客数は定員と現在の乗客数の差になる

これらを実装することで、問題を解くことができます。

実装例

  • C++