华为上机试题:最高分是多少
生活随笔
收集整理的這篇文章主要介紹了
华为上机试题:最高分是多少
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
老師想知道從某某同學當中,分數最高的是多少,現在請你編程模擬老師的詢問。當然,老師有時候需要更新某位同學的成績.
輸入描述:
輸入包括多組測試數據。
每組輸入第一行是兩個正整數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> using namespace std;int main() {int N,M;char c;while(cin>>N>>M){int *p=new int[N+1];p[0]=-1;int max=-1;int a,b,i;for(i=1;i<N+1;i++)cin>>p[i];cin>>c;cin>>a>>b;if(c=='U')p[a]=b;if(c=='Q'){ for(i=a;i<=b;i++)max=p[i]>max?p[i]:max;cout<<max<<endl;} return 0;} }我一開始把cin>>c>>a>>b寫在一行了,怎么都輸出不了結果。。。
參考:http://blog.csdn.net/moli152_/article/details/48009033
轉載于:https://www.cnblogs.com/K2154952/p/4780613.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的华为上机试题:最高分是多少的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于最小化的另辟蹊径
- 下一篇: Mac下Sublime text2中文乱