zoukankan      html  css  js  c++  java
  • 【华为2016上机试题C++】最高分是多少

    [编程题] 最高分是多少

    时间限制: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
     1 #include <iostream>
     2 #include <vector>
     3 using namespace std;
     4 
     5 int getmax(vector<int> &gra,int x,int y)//选出x到y中的最大值
     6  {    
     7        int temp;
     8        if(x>y)//考虑输入前面的比后面大的情况
     9        {
    10             temp=x;
    11              x=y;
    12               y=temp;                
    13                  
    14        }
    15        int max;
    16        max=gra[x];
    17        for(int i=x;i<=y;++i)
    18        {           
    19             if(gra[i]>max)
    20                 max=gra[i];
    21            
    22        }
    23     
    24     return max;
    25     
    26 }
    27 
    28 int main()
    29  {
    30       int x,y;
    31       char ch;
    32       int temp,g_num,op_num;
    33       vector<int> max;
    34     
    35       cin>>g_num>>op_num;
    36       vector<int> gra;         
    37    
    38       for(int i=0;i<g_num;i++)
    39      {
    40          cin>>temp;
    41          gra.push_back(temp);
    42           
    43       }
    44     
    45      while(op_num--)
    46      {
    47          
    48            cin>>ch>>x>>y;
    49          
    50             if(ch=='Q')
    51             {
    52                  if(x==y)
    53                  {
    54                          max.push_back(gra[x-1]); 
    55                      
    56                  }
    57                  max.push_back(getmax(gra,x-1,y-1));                 
    58                  
    59              }
    60              else if(ch=='U')
    61              {
    62                   gra[x-1]=y;
    63              }                    
    64                   
    65          
    66      }
    67      for(vector<int>::iterator it = max.begin(); it < max.end(); it++)
    68       {
    69               cout<<*it<<endl;
    70        }
    71     
    72     max.clear();
    73        
    74     return 0;
    75     
    76 }
  • 相关阅读:
    Q12:app在iPhone上执行正常,iPad上出现黑边问题解决方式
    SPOJ 104 Highways 最小生成树计数
    微信支付 常见报错
    oracle创建表空间、用户、和权限配置
    Android Matrix图像变换处理
    java项目部署到weblogic上后,某些浏览器无法取得session值
    简介redis以及ubuntu和windows下怎样安装redis和配置文件具体解释
    Melo作为程序猿的2016年
    软件架构,WEB
    软件架构,WEB
  • 原文地址:https://www.cnblogs.com/bxyan/p/6905336.html
Copyright © 2011-2022 走看看