はまやんはまやんはまやん

hamayanhamayan's blog

Can you buy them all? [AtCoder Beginner Contest 209 B]

https://atcoder.jp/contests/abc209/tasks/abc209_b

解説

https://atcoder.jp/contests/abc209/submissions/24155585

問題で指定されているように偶数番目の商品は定価の1円引きで購入して、奇数番目の商品は定価通りで購入したとして
合計金額を計算していこう。
これと所持金X円を比較して、買うことができるかできないかを判定しよう。

特に注意点はないが、実装時に配列は0-indexedなので、実装的には偶数奇数は反転したように見える。
0-indexedはindexが0から始まっているという意味で使用している。

int N, X, A[101];
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> X;
    rep(i, 0, N) cin >> A[i];

    int tot = 0;
    rep(i, 0, N) {
        if (i % 2 == 0) tot += A[i];
        else tot += A[i] - 1;
    }
    
    if (tot <= X) cout << "Yes" << endl;
    else cout << "No" << endl;
}