【題解】Zerojudge f605 - 1. 購買力

題目連結

題目大意

給定 $n$ 個商品最近 $3$ 天的價格,如果近 $3$ 天價格的最高和最低相差超過 $d$,則我們以這 $3$ 天價格的平均值購買,否則不購買。輸出購買商品的數量和總花費。

題解

假設某商品近 $3$ 天的價格分別為 $a, b, c$,用 $\max(a, b, c)$ 和 $\min(a, b, c)$ 函數找到最高價和最低價,並檢查 $max - min \geq d$ 是否成立,如果成立的話就把購買的商品數量 $+1$ 和總花費增加 $\frac{a + b + c}{3}$。其他實作細節請參考 code。
#include <bits/stdc++.h>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int n, d;
	cin >> n >> d;
	int cnt = 0, sum = 0;
	for(int i = 0; i < n; i++) {
		int a, b, c;
		cin >> a >> b >> c;
		int mx = max({a, b, c});
		int mn = min({a, b, c});
		if(mx - mn >= d) {
			cnt++;
			sum += (a + b + c) / 3;
		}
	}
	cout << cnt << " " << sum << "\n";
	return 0;
}

如果本文對您有幫助的話幫忙點擊廣告和分享吧!

© 若無特別註明,本站文章皆由 WeakMouse's Coding Blog 原創 ,轉載引用本文前請先留言告知。本文轉載請註明文章源自 WeakMouse's Coding Blog ,作者 ,並附上原文連結: 【題解】Zerojudge f605 - 1. 購買力

張貼留言

0 留言