最高点(ファーウェイの簡単な面接問題)を求めます
//先生は○○さんの中で一番点数が高いのは何ですか.
//今、プログラミングシミュレーションの先生に聞いてください.もちろん、先生はある同級生の成績を更新する必要があることがあります.
#include using namespace std; int getMax(int c[],int a,int b) { int max=0; for(int i=a;i<=b;i++) { if(c[i]>max) max=c[i]; } return max; } int main() { int N,M; char r; int c[30000]; while(cin>>N>>M) { int i=1; while(N--) { cin>>c[i]; i++; } while(M--) { int a,b; cin>>r; cin>>a>>b; if(r=='Q') { if(a>b) { int temp=a; a=b; b=temp; } cout< } else if(r=='U') { c[a]=b; } } } return 0; }
//今、プログラミングシミュレーションの先生に聞いてください.もちろん、先生はある同級生の成績を更新する必要があることがあります.
。
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。
#include using namespace std; int getMax(int c[],int a,int b) { int max=0; for(int i=a;i<=b;i++) { if(c[i]>max) max=c[i]; } return max; } int main() { int N,M; char r; int c[30000]; while(cin>>N>>M) { int i=1; while(N--) { cin>>c[i]; i++; } while(M--) { int a,b; cin>>r; cin>>a>>b; if(r=='Q') { if(a>b) { int temp=a; a=b; b=temp; } cout< } else if(r=='U') { c[a]=b; } } } return 0; }