实在看不出自己哪里错了,但是也想记录一下。。。后面再纠错吧!
import java.util.*;
public class P10{
public static void main(String[]args){
Scanner in=new Scanner(System.in);
int M=in.nextInt();
int N=in.nextInt();
int[]score=new int[M];
for(int i=0;i<M;i++){
score[i]=in.nextInt();
}
/* for(int s:score){
System.out.println(s);
}*/
in.nextLine();
String[]operate=new String[N];
for(int i=0;i<N;i++){
operate[i]=in.nextLine();
}
for(int j=0;j<N;j++){
String line=operate[j];
if(line.charAt(0)=='U'){
int temp=(int)line.charAt(2)-(int)'1';
score[temp]=line.charAt(4)-(int)'0';
System.out.println(temp);
}else{if(line.charAt(0)=='Q'){
if((int)line.charAt(2)-(int)'0'>(int)line.charAt(4)-(int)'0'){
int temp1=(int)line.charAt(4)-(int)'0';
int temp2=(int)line.charAt(2)-(int)'0';
int result=compare(temp1-1,temp2-1,score);
System.out.println(result);
}
else{if((int)line.charAt(2)-(int)'0'<(int)line.charAt(4)-(int)'0'){
int temp1=(int)line.charAt(2)-(int)'0';
int temp2=(int)line.charAt(4)-(int)'0';
int result=compare(temp1-1,temp2-1,score);
System.out.println(result);
}else{
int temp1=(int)line.charAt(2)-(int)'0'-1;
System.out.println(score[temp1]);
}
}
}
}
}
}
public static int compare(int a,int b,int[]score){
int max=score[a];
for(int i=a+1;i<=b;i++){
if(score[i]>max){
max=score[i];
}
}
return max;
}
}