Official
A - 予算と見積もりの誤差 / Budget and Estimate Discrepancy Editorial
by
A - 予算と見積もりの誤差 / Budget and Estimate Discrepancy 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 入門用コンテンツです。
問題文の通りに、\(j\) 番目の部署について \(\sum_{k=1}^{K_j}(P_{C_{j,k}}-Q_{C_{j,k}})\) を求めればよいです。
実装の際は各部署ごとに長さ \(K_j\) の配列を作る必要はありません。例えば、単純に \(K_j\) 個の入力を受け取ってそのたびに受け取った \(c\) について \(P_c-Q_c\) を \(j\) 番目の部署の答えに加算すればよいです。
実装例(C++)
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<int> p(n), q(n);
for (auto& e : p) cin >> e;
for (auto& e : q) cin >> e;
for (int i = 0; i < m; ++i) {
int k;
cin >> k;
long long ans = 0;
for (int j = 0; j < k; ++j) {
int c;
cin >> c;
c--;
ans += p[c] - q[c];
}
cout << ans << endl;
}
}
posted:
last update:
