Official

A - お弁当の注文 / Lunch Box Orders Editorial by MtSaka


初心者の方へ


問題文にある通りに \(M\) 個の注文について、 \(\sum_{j=1}^{K_i} W_{A_{i,j}}\) を求める問題です。

これは for文を二重にして行えばよいです。また、 \(\sum_{i=1}^{M}K_i \leq 10^{6}\) であるため、実行時間制限に十分間に合います。

実装例(C++)

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, m;
    cin >> n >> m;
    vector<int> w(n);
    for (auto& e : w) cin >> e;
    for (int i = 0; i < m; ++i) {
        int k;
        cin >> k;
        int ans = 0;
        for (int j = 0; j < k; ++j) {
            int a;
            cin >> a;
            ans += w[a - 1];
        }
        cout << ans << endl;
    }
}