Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;import java.lang.*;import java.util.*;
- //* --> number of prime numbers less then or equal to x are --> x/ln(x)
- //* --> String concatenation using the + operator within a loop should be avoided. Since the String object is immutable, each call for concatenation will
- // result in a new String object being created.
- // THE SIEVE USED HERE WILL RETURN A LIST CONTAINING ALL THE PRIME NUMBERS TILL N
- public class c {static class FastScanner {InputStreamReader is;BufferedReader br;StringTokenizer st;
- public FastScanner() {is = new InputStreamReader(System.in);br = new BufferedReader(is);}
- String next() throws Exception {while (st == null || !st.hasMoreElements())st = new StringTokenizer(br.readLine());
- return st.nextToken();}int nextInt() throws Exception {return Integer.parseInt(next());}long nextLong() throws Exception {
- return Long.parseLong(next());}int[] readArray(int num) throws Exception {int arr[]=new int[num];
- for(int i=0;i<num;i++)arr[i]=nextInt();return arr;}String nextLine() throws Exception {return br.readLine();
- }} public static boolean power_of_two(int a){if((a&(a-1))==0){ return true;}return false;}
- static boolean PS(double x){if (x >= 0) {double i= Math.sqrt(x);if(i%1!=0){
- return false;}return ((i * i) == x);}return false;}public static int[] ia(int n){int ar[]=new int[n];
- return ar;}public static long[] la(int n){long ar[]=new long[n];return ar;}
- public static void print(int ans,int t){System.out.println("Case"+" "+"#"+t+":"+" "+ans);}
- static long mod=1000000007;static int max=Integer.MIN_VALUE;static int min=Integer.MAX_VALUE;
- public static void sort(long[] arr){//because Arrays.sort() uses quicksort which is dumb
- //Collections.sort() uses merge sort
- ArrayList<Long> ls = new ArrayList<Long>();for(long x: arr)ls.add(x);Collections.sort(ls);
- for(int i=0; i < arr.length; i++)arr[i] = ls.get(i);}public static long fciel(long a, long b) {if (a == 0) return 0;return (a - 1) / b + 1;}
- static boolean[] is_prime = new boolean[1000001];static ArrayList<Integer> list = new ArrayList<>();
- static long n = 1000000;public static void sieve() {Arrays.fill(is_prime, true);
- is_prime[0] = is_prime[1] = false;for (int i = 2; i * i <= n; i++) {
- if (is_prime[i]) {for (int j = i * i; j <= n; j += i)is_prime[j] = false;}}for (int i = 2; i <= n; i++) {
- if (is_prime[i]) {list.add(i);}}}
- public static void main(String args[]) throws java.lang.Exception {
- FastScanner sc = new FastScanner();
- int t=sc.nextInt();
- while(t-->0)
- { int dp[][]=new int [500001][2];
- int n=sc.nextInt();
- long ar[]=new long[n];
- for(int i=0;i<n;i++)
- {
- ar[i]=sc.nextInt();
- dp[(int)ar[i]][(i&1)]++;
- }
- int flag=0;
- sort(ar); // this is nlog(n)
- for(int i=0;i<n;i++)
- {
- if(dp[(int)ar[i]][(i&1)]==0)
- {
- System.out.println("NO");
- flag++;
- break;
- }
- dp[(int)ar[i]][(i&1)]--;
- }
- if(flag==0)
- {
- System.out.println("YES");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement