Всем привет! Решил вроде бы правильно, но валидатор не пропускает второе условие, хотя оно эквивалентно первому, отличие лишь в знаке.
package com.javarush.task.task07.task0712;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

/*
Самые-самые
*/

public class Solution {
    public static void main(String[] args) throws Exception {
        //напишите тут ваш код
        ArrayList<String> list = new ArrayList<String>();

        //if we have more than one index
        ArrayList<Integer> maxIndex = new ArrayList<Integer>();
        ArrayList<Integer> minIndex = new ArrayList<Integer>();


        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        for (int i = 0; i < 10; i++) {
            list.add(reader.readLine());
        }

        int max = list.get(0).length();
        int min = list.get(1).length();

        //if index is only one
        int maxI = 0, minI = 1;

        //if indexes > 1 flag is true
        boolean isExist = false;

        for (int i = 0; i < 10; i++) {
            if (list.get(i).length() > max)
            {
                max = list.get(i).length();
                maxI = i;
            }

            if (list.get(i).length() < min)
            {
                min = list.get(i).length();
                minI = i;
            }
        }

        for (int i = 0; i < 10; i++) {
            if (list.get(i).length() == max && i < minI && i != maxI)
            {
                isExist = true;
                max = list.get(i).length();
                maxIndex.add(i);
            }

            if (list.get(i).length() == min && i < maxI && i != minI)
            {
                isExist = true;
                min = list.get(i).length();
                minIndex.add(i);
            }
        }


        if (maxI > minI)
        {
            System.out.println(list.get(minI));
            if (isExist == true)
            for (int i = 0; i < minIndex.size(); i++) {
                System.out.println(list.get(minIndex.get(i)));
            }
        }
        else if (maxI < minI)
        {
            System.out.println(list.get(maxI));
            if (isExist == true)
            for (int i = 0; i < maxIndex.size(); i++) {
                System.out.println(list.get(maxIndex.get(i)));
            }
        }
    }
}