
  
import java.util.*;
public class Main {
  
    
    
    static int solve(int[] A, int n,
                     int Q[], int q)
    {
        
        int one = 0;
  
        
        for (int i = 0; i < n; i++)
  
            
            if (A[i] == 1)
                one++;
  
        
        int glows = 0, count = 0;
  
        if (one >= (int)Math.ceil(n / 2))
            glows = 1;
  
        
        for (int i = 0; i < q; i++) {
  
            
            
            int prev = glows;
  
            
            
            if (A[Q[i] - 1] == 1)
                one--;
            if (A[Q[i] - 1] == 0)
                one++;
  
            A[Q[i] - 1] ^= 1;
  
            if (one >= (int)Math.ceil(n / 2.0)) {
                glows = 1;
            }
            else {
                glows = 0;
            }
  
            
            if (prev != glows)
                count++;
        }
  
        
        return count;
    }
  
    
    public static void main(String args[])
    {
        
        int n = 3;
        int arr[] = { 1, 1, 0 };
        int q = 3;
  
        
        int Q[] = { 3, 2, 1 };
  
        
        
        System.out.println(
            solve(arr, n, Q, q));
    }
}
 
 
 
 
0 comments:
Post a Comment