- //#include <iostream>
- //#include <vector>
- #include <bits/stdc++.h>
- using namespace std;
- int main() {
- int N;
- cin >> N; // 輸入商品數量
- vector<int> prices(N + 1); // 商品價格陣列,使用 N+1 讓商品編號從 1 開始
- for (int i = 1; i <= N; i++) {
- cin >> prices[i]; // 輸入每公克的價格
- }
- int totalCost = 0; // 總金額初始化為 0
- while (true) {
- int X, G;
- cin >> X >> G; // 輸入商品編號和購買重量
- if (X == 0 && G == 0) {
- break; // 當 X 和 G 都為 0 時結束輸入
- }
- totalCost += prices[X] * G; // 計算總金額
- }
- cout << totalCost << endl; // 輸出總金額
- return 0;
- }
複製代碼 解釋
輸入商品數量與價格:
第一行輸入 N 表示商品的種類數量。
第二行輸入每種商品每公克的價格,儲存到 prices 陣列中。
處理購買資料:
讀取購買的資料 (商品編號 X 和購買重量 G)。
如果 X 和 G 都為 0,表示輸入結束,跳出迴圈。
否則將對應商品的價格乘以購買重量,累加到 totalCost。
輸出結果:
輸出累計的總金額。
測試案例
輸入範例 1
複製程式碼
3
3 4 5
1 2
1 1
0 0
輸出範例 1
複製程式碼
9
輸入範例 2
複製程式碼
5
10 15 8 7 3
1 20
3 5
0 0
輸出範例 2
複製程式碼
240
注意事項
prices 陣列從索引 1 開始,以便直接使用商品編號作為索引。
程式會根據輸入動態計算每種商品的總價格,因此適合處理多筆商品與購買紀錄。 |