小美的数组重排:从读不懂题到通过,已经正式通过6道题啦,加油
import java.util.Scanner; import java.util.Arrays; import java.util.Collections; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int q=in.nextInt(); for(int i=0;i<q;i++){ int n=in.nextInt(); int m=in.nextInt(); int[] a=new int[n]; int[] b=new int[n]; for(int j=0;j<n;j++){ a[j]=in.nextInt(); } for(int j=0;j<n;j++){ b[j]=in.nextInt(); } int door1=0; int door2=0; Arrays.sort(a); Arrays.sort(b); for(int j=0;j<n;j++){ if(a[n-1]+b[n-1]>m||a[0]+b[0]<1) door1=1; if(a[j]+b[n-j-1]>m||a[j]+b[n-j-1]<1) door2=1; if(door1>0&&door2>0) break; } if(door1>0&&door2>0) System.out.println("No"); else System.out.println("Yes"); } } }
对于第一个用例,无论怎么重排都不满足条件。对于第二个用例,将数组重排为[5,3,-2,4,-1]时满足条件。