64,642
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
int studentnum, opnum;
while (cin >> studentnum >> opnum)
{
if (studentnum <= 0 || studentnum > 3000 || opnum <= 0 || opnum >= 5000)
return -1;
int temp = studentnum;
int grade;
vector<int>stugrade;
vector<int> result;
while (temp--)
{
cin >> grade;
stugrade.push_back(grade);
}
int temp1 = opnum;
char instruct;
int a, b;
while (temp1--)
{
cin >> instruct;
cin >> a >> b;
if (instruct == 'Q')
{
if (a > b)
{
int t = a;
a = b;
b = t;
}
int maxnum = 0;
for (int i = a; i <= b && i <= stugrade.size(); ++i)
{
if (stugrade[i - 1] > maxnum)
maxnum = stugrade[i - 1];
}
result.push_back(maxnum);
}
else if (instruct == 'U')
{
if (a <= stugrade.size())
stugrade[a - 1] = b;
}
}
for (int i = 0; i < result.size(); i++)
{
cout << result[i] << endl;
}
}
return 0;
}