Official

B - Can you buy them all? Editorial by blackyuki


商品の値段の総和を格納する変数を用意し、for 文などを用いて \(N\) 回ループを回して問題文の通りに各商品の値段を用意した変数に加算していけばよいです。最後に商品の値段の総和と \(X\) との大小を比較します。

添字を \(0\) から始める場合は偶奇が逆転することに注意してください。

実装例 (C++)

#include<bits/stdc++.h>
using namespace std;

int main(){
    int N, X; cin >> N >> X;
    int sum = 0;
    for(int i = 1; i <= N; i++){
        int A; cin >> A;
        if(i%2 == 0)A--;
        sum += A;
    }
    if(X >= sum) cout << "Yes" << endl;
    else  cout << "No" << endl;
}

なお、以下のように書くことも可能です。

実装例 (Python)

N, X = map(int, input().split())
A = list(map(int, input().split()))
if sum(A) - N//2 <= X :
    print("Yes")
else:
    print("No")

posted:
last update: