题目介绍:现在输入一组数据,写入学生的考试分数。已知学生数为N,学生编号为1到N,且0<N<=30000,每个学生都有一个分数;操作数为M且0<M<5000。输入第一行为N M,接下来是1行N列数据代表学生的初试分数,接下来是M行操作数据。已知操作有两种,分为Q和U。一次操作的格式为 C A B,当C=Q时输出A到B(包括A和B)的学生最高分,当C=U时将ID为A的学生的分数写入为B。

例:

输入:

5 7

1 2 3 4 5

Q 1 5

U 3 6

Q 3 4

Q 4 5

U 4 5

U 2 9

Q 1 5

输出:

5

6

5

9

分析:一开始是设想char一个m行3列的数组,但是考虑到ID和分数都可能不是个位数因此还是分别设置好了。查询指令中A不一定比B小这一点也要考虑到。

 #include <iostream>
using namespace std;
int main()
{
int m, n;
int result = ;
while (cin >> n >> m)
{
int *score = new int[n];
for (int i = ; i < n; i++)
{
cin >> score[i];
}
char *cha = new char[m];
int *one = new int[m];
int *two = new int[m];
for (int i = ; i < m; i++)
{
cin >> cha[i] >> one[i] >> two[i];
}
for (int i = ; i < m; i++)
{
if (cha[i] == 'Q')
{
if (two[i] > one[i])
{
for (int j = one[i] - ; j <= two[i] - ; j++)
{
if (score[j] >= result)
{
result = score[j];
}
}
}
else {
for (int j = two[i] - ; j <= one[i] - ; j++)
{
if (score[j] >= result)
{
result = score[j];
}
}
}
cout << result << endl;
result = ;
}
if (cha[i] == 'U')
{
score[one[i] - ] = two[i];
}
}
}
}

结果:

华为笔试——C++最高分问题的更多相关文章

  1. 华为笔试——C++括号匹配

    题目:括号匹配 题目来源:https://blog.csdn.net/lizi_stdio/article/details/76618908 题目介绍:输入一个字符串,里面可能包含“()”.“ [   ...

  2. 27号华为笔试(三道ac两道)

    三道题目case:100,100,0: 三个题目: 前两个都全部ac了,第三题没时间: 记录一下大概的思路: 第一题 主要通过Java中的字符串处理函数:然后控制字符串输入格式: 卡bug的点: 1: ...

  3. 华为笔试——C++平安果dp算法

    题目:平安果 题目介绍:给出一个m*n的格子,每个格子里有一定数量的平安果,现在要求从左上角顶点(1,1)出发,每次走一格并拿走那一格的所有平安果,且只能向下或向右前进,最终到达右下角顶点(m,n), ...

  4. 华为笔试——C++字符串四则运算的实现

    题目:字符串四则运算的实现 有字符串表示的一个四则运算表达式,要求计算出该表达式的正确数值.四则运算即:加减乘除"+-*/",另外该表达式中的数字只能是1位(数值范围0~9),运算 ...

  5. 华为笔试——C++的int型数字位排序

    题目:int型数字位排序 题目介绍:输入int 型整数,按照从右至左的顺序,返回不含重复数字的新整数. 例: 输入: 99824270 输出: 072489 分析:乍一看很简单,但是很容易忽略int ...

  6. 华为笔试——C++特定位数比较

    题目:特定位数比较 题目介绍:输入两行数据,第一行为 m 个正整数,以空格隔开:第二行为正整数 n ,且 n<= m:要求对第一行的数字的后三位大小进行排序,输出排行 n 的数字,其中,若不满三 ...

  7. 华为笔试——C++进制转换

    题目:2-62进制转换 题目介绍:输入一个n1 进制的整数(包括负数),将其转换成n2 进制,其中n1 .n2 的范围是 [ 2,62 ] .每个数字的范围是0-9.a-z.A-Z.不用考虑非法输入. ...

  8. 华为笔试——C++消重输出

    题目:消重输出 题目介绍: 输入一个正整数,给出消除重复数字以后最大的整数,注意需要考虑长整数. 例: 输入:988274320 输出:9874320 题目分析:这个结果的实现需要两个步骤:消重和排序 ...

  9. 华为笔试——C++转换字符串问题

    题目:转换字符串 题目介绍: 将输入字符串中下标为偶数的字符连成一个新的字符串输出,需要注意两点: 1. 如果输入字符串的长度超过20,则转换失败,返回“ERROR!”字符串: 2. 输入字符串只能由 ...

随机推荐

  1. Spring Boot Mock单元测试学习总结

    单元测试的方法有很多种,比如使用Postman.SoapUI等工具测试,当然,这里的测试,主要使用的是基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从 ...

  2. 20155314 2016-2017-2 《Java程序设计》第2周学习总结

    20155314 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 学习目标 了解Java编程风格 认识Java的类型与变量 掌握Java流程控制的方法(分支. ...

  3. openstack常用的一些命令

    查看rabbitmq 队列 rabbitmqctl list_queues 复制代码 查看keystone的用户 keystone user-list 复制代码 查看keystone endpoint ...

  4. selenium+python unittest实践过程之问题杂集

    1.列表选择项后直接获取文本内容获取不到,应该获取选择后显示的button的值 2.取值后的值带有空格,可以使用.strip()删除前后空格,以便断言 3.取值后有些值需要对类型进行转换才能断言成功 ...

  5. 20165302 敏捷开发与XP实践作业

    20165302 敏捷开发与XP实践实验报告 一.提交点一 1.实验要求 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD ...

  6. 专家PID控制

    1.专家PID控制原理 PID专家控制的实质是,基于受控对象和控制规律的各种知识,无需知道被控对象的精确模型,利用专家经验来设计PID参数.专家PID控制是一种直接型专家控制器. 典型的二阶系统单位阶 ...

  7. P2008 大朋友的数字

    题目描述 有一批大朋友(年龄15岁以上),他们每人手上拿着一个数字,当然这个数字只有1位,也就是0到9之间.每个大朋友的分数为在他之前的最长不下降子序列中所有数之和.(这个序列必须以它作为结尾!)如有 ...

  8. PCB直角走线的影响

    PCB直角走线的影响   布线(Layout)是PCB设计工程师最基本的工作技能之一.走线的好坏将直接影响到整个系统的性能,大多数高速的设计理论也要最终经过 Layout 得以实现并验证,由此可见,布 ...

  9. cgroup测试存储设备IOPS分配

    1 使用:创建树并且attach子系统 首先要创建文件系统的挂载点作为树的根 mkdir /cgroup/name mkdir /cgroup/cpu_and_mem Mount这个挂载点到一个或者多 ...

  10. GATK --- wdl 语言

    GATK的pipeline使用WDL进行编写 WDL是一种流程管理语言,内置的支持并行,适合编写pipeline 运行wdl脚本需要两步:第一步编辑参数列表对应的json文件,第二步直接运行Cromw ...