老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 64M,其他语言128M
输入描述:
每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。 学生ID编号从1编到N。 第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩 接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,当C为'Q'的时候, 表示这是一条询问操作,假设A
输出描述:
对于每一次询问操作,在一行里面输出最高成绩.
首先需要读取学生的数目N和操作的数目M,然后读取每个学生的成绩。接着根据操作类型('Q'或'U')进行相应的操作。如果操作类型为'Q',则输出最高成绩;如果操作类型为'U',则更新学生的成绩。
代码如下:
cpp:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int N, M;
cin >> N >> M;
vector<int> scores(N);
for (int i = 0; i < N; i++) {
cin >> scores[i];
}
for (int i = 0; i < M; i++) {
char C;
int A, B;
cin >> C >> A >> B;
if (C == 'Q') {
cout << *max_element(scores.begin(), scores.end()) << endl;
} else if (C == 'U') {
scores[A - 1] = B;
}
}
return 0;
}