華華在瀏覽社群軟體時經常看到一款手遊廣告,遊戲內容是玩家控制一個角色不斷挑戰怪物,只要玩家角色的戰力比怪物高,就可以打敗怪物並吸收牠的戰力值;反之,如果玩家角色的戰力和怪物相同或較怪物低,玩家角色就會死亡,遊戲也就結束了。
請你撰寫一個程式,給定玩家角色依序遭遇的怪物戰力值,計算結束遊戲時玩家角色的戰力值為何。
範例測資
範例輸入 | 範例輸出 |
---|---|
輸入第一列有兩個整數 M (1 ≤ M ≤ 300) 和 A (1 ≤ A ≤ 10000),代表有幾隻怪物以及小華的初始戰力值。 第二列有 M 個整數 Ti (1 ≤ Ti ≤ 6000, i = 1, 2, 3, …, M),為小華依序會遭遇的第 i 個怪物戰力值。 | 請輸出華華結束遊戲時的戰力值。 |
5 20 30 60 90 120 150 | 20 |
4 32 31 61 91 215 | 215 |
3 10000 10 20 30 | 10060 |
解題思路
使用一個布林值確認還需不需要做戰力值的判斷,預設為True,如果遇到相同或是等級更高的怪物,則將布林值設為 False 並且之後收資料的時候不做判斷。
範例程式碼-ZeroJudge J178: 手遊廣告 (Advertisement)
#include <iostream>
using namespace std;
int main() {
cin.sync_with_stdio(0);
cin.tie(0);
int M, A;
cin >> M >> A;
bool stop = false;
for (int i = 0; i<M; i++)
{
int tmp;
cin >> tmp;
if (A > tmp && !stop) A += tmp;
else stop = true;
}
cout << A << "\n";
}
//ZeroJudge J178
//Dr. SeanXD