用c++ 小明有存款1000元,他以每天为单位把每一天的总收入或支出都记录下来,共n天,正数代表收入,负数代表支出。有一天他老妈突然对他进行查账,提出共m个查询问题,每个问题都只关心在某一天的余额有多少。 输入输出格式 输入格式 输入第一行为n和m(1<=n,m<=10000),第二行为n个整数代表当天的收入或支出,第三行为m个正整数代表分别查询的是哪一天。 输出格式 输出一行共m个数,代表每一个余额查询结果。数字由空格隔开。
时间: 2024-03-23 10:36:56 浏览: 88
以下是使用 C++ 编写的解答代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int balance[n+1];
balance[0] = 1000; // 第一天初始余额为 1000 元
for (int i = 1; i <= n; i++) {
int income;
cin >> income;
balance[i] = balance[i-1] + income; // 计算当天余额
}
while (m--) {
int q;
cin >> q;
cout << balance[q] << " ";
}
cout << endl;
return 0;
}
```
代码思路:
1. 首先读入 n 和 m,分别表示天数和查询次数。
2. 声明一个数组 balance 用于记录每天的余额,数组大小为 n+1,第 0 个位置存储第一天的余额(即 1000 元)。
3. 循环读入 n 个整数 income,代表每天的收入或支出。计算每天的余额并存储到 balance 数组中。
4. 循环读入 m 个查询天数 q,输出对应天数的余额即可。
阅读全文