public static void main(String[] args){ int[] start={1,3,0,5,8,5}; int[] end={2,4,6,7,9,9}; int[][] activities=new int[start.length][3]; ArrayList<Integer> ans=new ArrayList<>(); for(int i=0;i< start.length;i++){ activities[i][0]=i; activities[i][1]=start[i]; activities[i][2]=end[i]; } Arrays.sort(activities, Comparator.comparingDouble(o->o[2])); int maxAct=1; int lastEnd=activities[0][2]; ans.add(activities[0][0]); for(int i=1;i<end.length;i++){ if(lastEnd<=activities[i][1]){ maxAct++; lastEnd=activities[i][2]; ans.add(activities[i][0]); } } System.out.println(maxAct); System.out.println(ans); }