最后一个数据MLE求助
查看原帖
最后一个数据MLE求助
1296507
birstars楼主2024/3/25 21:34
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

public class Main {
	static PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
	static BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
	static int t,n;
	static int N=1000010;
	static int[] arr=new int[N];
	static int res=0;
	public static void main(String[] args) throws IOException{
		t=Integer.parseInt(reader.readLine().trim());
		while(t-->0) {
			res=0;
			n=Integer.parseInt(reader.readLine().trim());
			String[] pStrings=reader.readLine().trim().split(" ");
			int max=0;
			int min=n+1;
			int m=1;
			for(int i=1;i<=n;i++) {
				arr[i]=Integer.parseInt(pStrings[i-1]);
				if(max<arr[i]) max=arr[i];
				if(min>arr[i]) min=arr[i];
				if(arr[i]==i) {
					if((i-m)==(max-min)&&max==i) {
						res+=max-min;
						m=i+1;
						max=0;
						min=n+1;
					}
				}
				if(arr[i]!=i&&i==n) res+=max-min+1;
			}
			out.println(res);
		}
		out.flush();
	}
}
2024/3/25 21:34
加载中...