a845 - B.奶罐小馬買東西
題目描述
題目要求計算指定兩瓶飲料的總價。給定飲料的數量和每瓶飲料的價格,以及多個查詢,每個查詢包含兩個飲料的索引,程式需要輸出這兩瓶飲料的價格總和。
解題思路
這題的解題思路非常直接。首先,讀取飲料的數量 a,然後讀取每個飲料的價格並儲存在陣列 b 中。接著,讀取查詢的數量 c,然後對於每個查詢,讀取兩個飲料的索引 x 和 y,計算 b[x] + b[y] 並輸出結果。
複雜度分析
- 時間複雜度: O(n + q),其中 n 是飲料的數量,q 是查詢的數量。讀取飲料價格需要 O(n) 時間,處理每個查詢需要 O(1) 時間,總共 q 個查詢需要 O(q) 時間。
- 空間複雜度: O(n),主要用於儲存飲料價格的陣列
b。
程式碼
#include <iostream>
using namespace std;
int main(){
int a;
while(cin >> a){
int b[a]={0};
for(int i=0;i<a;i++){
cin >> b[i];
}
int c,x,y;
cin >> c;
for(int i=0;i<c;i++){
cin >> x >> y;
cout << b[x]+b[y] << endl;
}
}
}