设为首页 收藏本站
查看: 1102|回复: 0

[经验分享] 【华为2016上机试题C++】最高分是多少

[复制链接]

尚未签到

发表于 2017-7-10 18:23:02 | 显示全部楼层 |阅读模式
[编程题] 最高分是多少



  时间限制:1秒
  空间限制:65536K


老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.

输入描述:

输入包括多组测试数据。
每组输入第一行是两个正整数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 <iostream>
#include <vector>
using namespace std;

int getmax(vector<int> &gra,int x,int y)//选出x到y中的最大值
  {   
        int temp;
        if(x>y)//考虑输入前面的比后面大的情况
        {
             temp=x;
              x=y;
               y=temp;               
                  
        }
        int max;
        max=gra[x];
        for(int i=x;i<=y;++i)
        {           
             if(gra>max)
                 max=gra;
            
        }
     
     return max;
     
}

int main()
  {
       int x,y;
       char ch;
       int temp,g_num,op_num;
       vector<int> max;
     
       cin>>g_num>>op_num;
       vector<int> gra;         
   
       for(int i=0;i<g_num;i++)
      {
          cin>>temp;
          gra.push_back(temp);
           
       }
     
      while(op_num--)
      {
         
            cin>>ch>>x>>y;
         
             if(ch=='Q')
             {
                  if(x==y)
                  {
                          max.push_back(gra[x-1]);
                     
                  }
                  max.push_back(getmax(gra,x-1,y-1));                 
                  
              }
              else if(ch=='U')
              {
                   gra[x-1]=y;
              }                    
                  
      }
      for(vector<int>::iterator it = max.begin(); it < max.end(); it++)
       {
               cout<<*it<<endl;
        }
     
     max.clear();
        
     return 0;
     
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-392488-1-1.html 上篇帖子: 任正非接班人李一男离开华为时给属下的忠告 下篇帖子: [华为]计算字符串的相似度
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表