Блог пользователя ruban

Автор ruban, 10 лет назад, По-русски

Во второй раз сталкиваюсь с тем, что при переполнении массива вместо RE получаю TL. Первый раз это было на совершенно другой тестирующей системе, тогда все это удалось быстро обнаружить, а сейчас — нет, из-за чего в целом правильное решение задачи 482B упало. Тогда мне так и не объяснили, в чем дело, может кто здесь подскажет. Тем более на Codeforces до этого все было совершенно адекватно — TL так TL, RE так RE.

  • Проголосовать: нравится
  • +2
  • Проголосовать: не нравится

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Проблема в том, что нужно писать на языке программирования, а не надо паскале

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

видимо настройка компилятора — не проверять границы массива (и случайно это оказалось можно) а там могли затереться любые используемые данные вне массива

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Да так почти всегда и происходит, но при этом вердикт — RE, а здесь мы получаем TL. Просто при этом программа, видать, может зависнуть, а отсюда и TL. Но это мои домыслы.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Я не шибко великий специалист во внутренностях проверялок, но если выполнились одновременно два условия:

  1. либо сама программа сказала отключить проверки выхода за пределы массива, либо программа об этом ничего не сказала, а компилятор настроен так, чтоб by default не проверять;

  2. программа обратилась хоть и за пределы именно массива, но в пределах вообще своей памяти, то есть в какую-то другую свою переменную ---

так вот, я решительно не понимаю, как тестирующая система при всём желании могла бы это заметить.

И если при выходе за пределы массива эти самые другие свои переменные как раз ещё и портились именно таким образом, что возникало зацикливание -- у проверяющей системы как-то и нету других варантов, кроме как сообщать TLE.

Хотя, конечно, это всё — нагромождение не доказанных предположений... Можно увидеть, что именно у Вас получило TL?

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Посылка 8389243 — ее можно увидеть на последнем контесте.