# Untitled

unknown
java
16 days ago
1.5 kB
3
Indexable
Never
```import java.util.*;

public class Solution {
public static int solve(int N, List<Integer> A) {
// Convert List to array for easier handling
int[] nums = A.stream().mapToInt(i -> i).toArray();

// Initialize variables
HashMap<Integer, Integer> map = new HashMap<>();
map.put(0, -1);
int maxLength = -1;
int count = 0;

// Iterate through the array
for (int i = 0; i < nums.length; i++) {
// Adjust the count based on the value
count += (nums[i] == 1) ? 1 : -1;

// Check if this count has been seen before
if (map.containsKey(count)) {
// Update the maximum length if this subarray is longer
maxLength = Math.max(maxLength, i - map.get(count));
} else {
// Store the first occurrence of this count
map.put(count, i);
}
}

// If no subarray was found, return -1
return (maxLength == 0) ? -1 : maxLength;
}

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = Integer.parseInt(scan.nextLine().trim());

List<Integer> A = new ArrayList<>(N);
for (int j = 0; j < N; j++) {