zoukankan      html  css  js  c++  java
  • 最高分是多少

    题目描述:

    老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩. 
    输入描述: 
    输入包括多组测试数据。 
    每组输入第一行是两个正整数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

    输出例子: 



    9

    简单题,在牛客上AC了,代码如下:

     1 #include <stdio.h>
     2 #include <iostream>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int M,N,score[30000];
     8     char oper;
     9     while(cin >> N >> M)
    10     {
    11         for (int i = 0; i < N; ++i)
    12         {
    13             scanf("%d", score + i);
    14         }
    15         for (int j = 0; j < M; ++j)
    16         {
    17             int A, B, max;
    18             cin >> oper >> A >> B;
    19             if (oper == 'Q')
    20             {
    21                 if (A > N || B > N)
    22                 {
    23                     return 0;
    24                 }
    25                 else
    26                 {
    27                     if (A > B)
    28                     {
    29                         int tmp = A;
    30                         A = B;
    31                         B = tmp;
    32                     }
    33                     max = score[A - 1];
    34                     for (int k = A; k < B; k++)
    35                     {
    36                         if (max < score[k])
    37                         {
    38                             max = score[k];
    39                         }
    40                     }
    41                     cout << max << endl;
    42                 }
    43                 
    44             } 
    45             else if (oper == 'U')
    46             {
    47                 if (A > N)
    48                 {
    49                     return 0;
    50                 }
    51                 else
    52                 {
    53                     score[A - 1] = B;
    54                 }
    55             }
    56         }
    57     }
    58     return 0;
    59 }
  • 相关阅读:
    知识图谱
    spring mvc踩坑记
    学习计划
    迷茫中看见一道曙光
    面试复习准备
    关于配置httpd2.4.18+php5.6
    notepad++ 等用正则表达式自动添加sql引号(宏)
    JDK1.8的HashMap实现原理和源码解析
    Java垃圾回收机制
    sql server 表分区
  • 原文地址:https://www.cnblogs.com/hbiner/p/4772179.html
Copyright © 2011-2022 走看看