Yuulis.log

トンネルを抜けるとそこは参照エラーであった。

【AtCoder】ABC 356 B - Nutrients | 茶コーダーが解くAtCoder

atcoder.jp

実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 40

問題概要

 M 種類の栄養素があり、  i 番目の栄養素は一日当たり  A_i 以上摂取することが目標である。ここで、今日は  N 個の食品を食べ、  i 番目の食品からは栄養素  j X_{i, j} 摂取した。このとき、すべての栄養素で目標を達成しているかどうか判定せよ。

制約

  • 入力はすべて整数。
  •  1 \leq N, M \leq 100
  •  0 \leq A_i, X_{i, j} \leq 10^7

考察

各栄養素  j \: (1 \leq j \leq M) について、  \displaystyle \sum_{i=1}^N X_{i, j} \geq A_j となっていればYes、逆に一つでもそうでなければNoを出力すればよい。


コード

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

#define all(x) (x).begin(), (x).end()
#define rep(i, start, end) for (auto i = (start); (i) < (end); (i)++)

using ll = long long;

// ======================================== //

int main()
{
    int N, M;
    cin >> N >> M;
    vector<ll> A(M);
    rep(i, 0, M) cin >> A[i];

    vector<ll> get(M);
    rep(i, 0, N)
    {
        rep(i, 0, M)
        {
            ll X;
            cin >> X;
            get[i] += X;
        }
    }

    rep(i, 0, M)
    {
        if (get[i] < A[i])
        {
            cout << "No" << endl;
            return 0;
        }
    }

    cout << "Yes" << endl;
}

atcoder.jp

実装時間: 5分以内