APCS 110/01 實作題第一題題解 購買力

2021-01-09 17:00:42 by Akira

題目敘述

給你 \(N\) 個東西的前三季的價格 \(a_i, b_i, c_i\),本季價格為前三季價格的平均。如果前三季價格中的最大值與最小值相差超過 \(D\) 你就會買他,問你總共買了幾個東西以及花了多少錢。

所有輸入數字都是不超過 100 的非負整數。保證每樣東西的本季價格都是整數。

輸入格式

\[
\begin{matrix}
N & D \\
a_1 & b_1 & c_1 \\
a_2 & b_2 & c_2 \\
... \\
a_N & b_N & c_N
\end{matrix}
\]

輸出格式

印出一行兩個數字:總共買了幾樣東西以及花了多少錢

範例輸入

2 3
5 6 7
4 6 8

範例輸出

1 6

題解

C++ 參考解答

#include <algorithm>
#include <iostream>
using namespace std;

int main() {
  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 ma = max(a, max(b, c));
    int mi = min(a, min(b, c));
    if (ma - mi >= d) {
      cnt++;
      sum += a + b + c;
    }
  }
  cout << cnt << ' ' << sum / 3 << endl;
  return 0;
}

[題解] [APCS] [APCS 110/01]