Untitled

 avatar
unknown
java
a year ago
1.5 kB
7
Indexable
import java.util.*;

public class Solution {

    public static int get_ans(int N, List<Integer> P, List<Integer> A) {
        int maxGoodPathLength = 0;

        // Check each subarray for the condition
        for (int start = 0; start < N; start++) {
            int currentXor = 0;
            for (int end = start; end < N; end++) {
                currentXor ^= A.get(end);
                boolean isGoodPath = true;

                // Check if all elements in the subarray satisfy the condition
                for (int j = start; j <= end; j++) {
                    if (!(currentXor < A.get(j))) {
                        isGoodPath = false;
                        break;
                    }
                }

                if (isGoodPath) {
                    maxGoodPathLength = Math.max(maxGoodPathLength, end - start + 1);
                }
            }
        }

        return maxGoodPathLength;
    }

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        int N = Integer.parseInt(scan.nextLine().trim());

        List<Integer> P = new ArrayList<>(N);
        for (int j = 0; j < N; j++) {
            P.add(Integer.parseInt(scan.nextLine().trim()));
        }

        List<Integer> A = new ArrayList<>(N);
        for (int j = 0; j < N; j++) {
            A.add(Integer.parseInt(scan.nextLine().trim()));
        }

        int result = get_ans(N, P, A);
        System.out.println(result);
    }
}
Editor is loading...
Leave a Comment