Official
C - 換金/Turn into Money Editorial
by
C - 換金/Turn into Money Editorial
by
leaf1415
\(N\) 枚のカードそれぞれについて、換金して得られる金額を求め、その合計を出力すれば本問題に正解できます。
「 \(N\) 枚のカードそれぞれについて」見るには、プログラミング言語の標準的な機能である繰り返しの機能( for 文など)を用いることができます。
\(i\) 枚目のカードを「換金して得られる金額を求め」るには、入力で与えられた \(P_1,P_2, \ldots, P_{10}\) を配列等のデータ構造に予め格納しておき、その \(A_i\) 番目の要素にアクセスすれば良いです。
出力する答えは最大で \(10^{10}\) となるため \(32\) ビット整数型で表現できない可能性があること、いわゆるオーバーフローに、注意してください。
以下に、C++ 言語による本問題の正解例を記載します。
#include <iostream>
using namespace std;
int main(void)
{
int n, a[10], p[11];
cin >> n;
for(int i = 1; i <= n; i++) cin >> a[i];
for(int i = 1; i <= 10; i++) cin >> p[i];
long long ans = 0;
for(int i = 1; i <= n; i++) ans += p[a[i]];
cout << ans << endl;
return 0;
}
posted:
last update:
