酷代码 AI
菜单
服务商

船上一共有n件可以扔下船的物品,大家要把其中重量超过x的物品都扔下船。请你编写一个程序,计算大家需要扔下船的物品的数量,以及这些物品的重量总和。 输入: 共三行。 第一行为一个整数n(n <=10),表示物品的数量。 第二行为n个整数,分别表示每件物品的重量。 第三行为一个整数x,表示重量超过x的物品要扔下船。 输出: 两个整数,分别表示需要扔下船的物品的数量,以及这些物品的重量总和,相邻数字之间用空格隔开。 输入样例1: 5 1 2 6 8 12 3 输出样例1: 3 26 输入样例2: 10 45 20 6 41 32 30 50 5 10 32c++

以下是使用 C++ 实现的代码: ```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; // 读取物品的数量 int weights[10]; for (int i = 0; i < n; i++) { cin >> weights[i]; // 读取每件物品的重量 } int x; cin >> x; // 读取重量阈值 int count = 0; // 记录需要扔下船的物品数量 int totalWeight = 0; // 记录这些物品的重量总和 for (int i = 0; i < n; i++) { if (weights[i] > x) { count++; totalWeight += weights[i]; } } cout << count << " " << totalWeight << endl; return 0; } ``` 代码解释: 1. 读取输入: - 首先读取物品的数量 `n`。 - 然后使用一个循环读取 `n` 件物品的重量,并存储在数组 `weights` 中。 - 最后读取重量阈值 `x`。 2. 遍历物品重量数组: - 使用一个循环遍历数组 `weights`,对于每个物品的重量,如果它大于 `x`,则将计数器 `count` 加 1,并将该物品的重量累加到 `totalWeight` 中。 3. 输出结果: - 最后输出需要扔下船的物品的数量 `count` 和这些物品的重量总和 `totalWeight`,中间用空格隔开。 复杂度分析: - 时间复杂度:$O(n)$,其中 $n$ 是物品的数量。因为只需要遍历一次物品重量数组。 - 空间复杂度:$O(n)$,主要用于存储物品的重量。 [2025-11-08 19:10:20 | AI问答 | 433点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多