Official
A - お弁当の注文 / Lunch Box Orders Editorial
by
A - お弁当の注文 / Lunch Box Orders Editorial
by
MtSaka
初心者の方へ
- AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
- また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
- C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。
- Python入門 AtCoder Programming Guide for beginners (APG4bPython) は、競技プログラミングのための Python 入門用コンテンツです。
問題文にある通りに \(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;
}
}
