Загадочная ошибка выполнения Java

Я написал очень короткую программу для легкого соревнования по программированию с онлайн-судейством (http://acm.sgu.ru/problem.php?contest=0&problem=184), но почему-то 21 числа получаю ошибку времени выполнения test (в нем не указывается, в чем именно заключается ошибка времени выполнения). Поэтому я переписал код, и теперь он не выдает ошибку времени выполнения, но я не могу понять, почему этот код должен работать, а исходный — нет. Вот рабочий код:

Scanner scan = new Scanner(System.in);
int[] arr1 = new int[3];
int[] arr2 = new int[3];
for (int i = 0; i <= 2; i++) arr1[i] = scan.nextInt();
for (int i = 0; i <= 2; i++) arr2[i] = scan.nextInt();
System.out.println(Math.min(arr1[0]/arr2[0], Math.min(arr1[1]/arr2[1], arr1[2]/arr2[2])));

Вот нерабочий код:

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String[] arr1 = in.readLine().split(" ");
String[] arr2 = in.readLine().split(" ");
int flour = Integer.parseInt(arr1[0])/Integer.parseInt(arr2[0]);
int milk = Integer.parseInt(arr1[1])/Integer.parseInt(arr2[1]);
int cabbage = Integer.parseInt(arr1[2])/Integer.parseInt(arr2[2]);
System.out.println(Math.min(cabbage, Math.min(flour, milk)));

Сначала я попытался изменить BufferedReader на Scanner в нерабочем коде и использовать in.nextLine(), но это не сработало. Затем я подумал, что, возможно, происходит деление на ноль, но условия проблемы исключают это, и это все еще должно быть проблемой в рабочем коде, поэтому я не понимаю, почему первое работает, а второе нет.


person mgriisser    schedule 21.05.2012    source источник
comment
Можете ли вы рассказать нам, что делает тест номер 21?   -  person Chris Thompson    schedule 21.05.2012
comment
К сожалению, я не могу. Вся информация, которую он дает, является типом ошибки.   -  person mgriisser    schedule 21.05.2012


Ответы (1)


Он терпит неудачу, когда ввод просто разделен пробелами без каких-либо разрывов строк. Вы получаете NPE в нерабочем коде или при ожидании ввода, то вы превышаете лимит времени 0,5 с для этого теста, так как ваша программа блокируется.

person Fabian Barney    schedule 21.05.2012