f605 - 1. 購買力
題目描述
題目要求計算在給定價格波動閾值 d 下,需要購買的商品數量以及總費用。對於每個商品,如果其近三天的價格最大值與最小值的差大於等於 d,則購買該商品,費用為近三天的平均價格。
解題思路
這題的解題思路是簡單的迭代。對於每個商品,計算其近三天的價格的最大值和最小值,判斷差值是否大於等於給定的閾值 d。如果滿足條件,則將購買的商品數量加一,並將該商品的平均價格加到總費用中。最後輸出購買的商品數量和總費用。
複雜度分析
- 時間複雜度: O(n)
- 空間複雜度: O(1)
程式碼
#include <iostream>
using namespace std;
int main(){
cin.tie(0); ios::sync_with_stdio(false);
int n,d,s=0,m=0,a,b,c;
cin >> n >> d;
while(n--){
cin >> a >> b >> c;
if(max(a,max(b,c))-min(a,min(b,c))>=d){
++s;
m+=(a+b+c)/3;
}
}
cout << s << " " << m;
}