import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; class CMP1 implements Comparator> { @Override public int compare(ArrayList a, ArrayList b) { if(a.get(1) == b.get(1)){ return 0; }else if(a.get(1) > b.get(1)){ return 1; }else{ return -1; } } } class CMP2 implements Comparator> { @Override public int compare(ArrayList a, ArrayList b) { if(a.get(2) == b.get(2)){ return 0; } else if(a.get(2) > b.get(2)){ return 1; }else{ return -1; } } } public class Solution { static int[] minimumZooNumbers(int m, int n, char[] t, int[] s, int[] d) { ArrayList> data = new ArrayList>(); for(int i=0; i()); } for(int i=0; i sub_data = data.get(i); if(t[i]=='E'){ sub_data.add(1); }else if(t[i]=='C'){ sub_data.add(2); }else if(t[i]=='D'){ sub_data.add(3); }else{ sub_data.add(4); } sub_data.add(s[i]-1); sub_data.add(d[i]-1); } Collections.sort(data, new CMP1()); ArrayList> dataF = new ArrayList>(); for(int i=0; i()); } for(int i=0; i sub_data = dataF.get(i); if(t[i]=='E'){ sub_data.add(1); }else if(t[i]=='C'){ sub_data.add(2); }else if(t[i]=='D'){ sub_data.add(3); }else{ sub_data.add(4); } sub_data.add(s[i]-1); sub_data.add(d[i]-1); } Collections.sort(dataF, new CMP2()); /*for(ArrayList x: data){ for(int y : x) System.out.print(y + " "); System.out.println(); }*/ int[] EC = new int[2]; int[] DM = new int[2]; int[] uEC = new int[2]; int[] uDM = new int[2]; int done = 0; int data_pos=0; int dataF_pos = 0; int[] score = new int[m]; for(int i = 0; i answ = new ArrayList(); int last = 0; for(int i=0; ilast){ for(int j=last; j