华为2016上机考试第一题
来源:互联网 发布:java培训出来找工作难 编辑:程序博客网 时间:2024/05/01 17:17
老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.
输入描述:
输入包括多组测试数据。
每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。
学生ID编号从1编到N。
第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩
接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,当C为’Q’的时候, 表示这是一条询问操作,他询问ID从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
我的代码:
#include <stdio.h>#include <stdlib.h>int main(){ int N=0, M=0; int student[30001]; char caozuo[5000]; int score[5000][2]; while(scanf("%d %d",&N,&M)!=EOF) { for(int i=1; i<=N; i++) { scanf("%d", &student[i]); } getchar(); for(int i=0; i<M; i++) { scanf("%c",&caozuo[i]); for(int j=0; j<2; j++) { scanf("%d",&score[i][j]); } getchar(); } for(int i=0; i<M; i++) { if(caozuo[i] == 'Q') { int tou = score[i][0]; int wei = score[i][1]; if(tou > wei) { int temp=tou; tou = wei; wei = temp; } int MAX=student[tou]; for(int j=1; j<=(wei-tou); j++) { if(MAX < student[tou + j]) { MAX=student[tou + j]; } } printf("%d\n",MAX); } else { student[score[i][0]] = score[i][1]; } } } return 0;}
0 0
- 华为2016上机考试第一题
- 华为2016上机考试第二题
- 2012届华为校园招聘上机考试题目第一题和答案
- 华为 2016实习生 上机考试 题目
- 华为上机考试-2016-8-29
- 华为上机考试
- 华为2016校招上机笔试题第一题
- 华为2016实习生上机题
- 华为2012校园招聘 上机考试1
- 华为2012校园招聘 上机考试2
- 2012华为校园招聘上机考试题目
- 华为2012年上机考试----约瑟夫问题
- 华为校园招聘上机考试题目
- 华为2014山东大学实习生上机考试
- 2012届华为上机考试题目
- 华为9月14日上机考试题(第一题)
- 2012届华为校园招聘上机考试题目第2题——排序问题
- 华为2016校园招聘上机笔试题
- COM学习--1.COM对象标识
- HBase体系结构(转)
- HBase Java API类介绍
- Android—ScrollView和HorizontalScrollView使用
- 搭建Hadoop HA集群
- 华为2016上机考试第一题
- 通过Java Api与HBase交互(转)
- 生命无痕
- 使用mentohust解决ubuntu下校园网无法连接
- HBase配置性能调优(转)
- POJ 1240 Pre-Post-erous! 前序+后序遍历判断树的形状的数量
- [UESTC 1256]昊昊爱运动
- Linux学习之新手必知的26 个命令
- java中volatile关键字的使用