← Все вопросы

Что значат вердикты WA, TLE, RE — почему «неправильный ответ» и «превышено время»?

Задан 29 месяцев назад1.3к просмотров2 ответа
8

Отправил решение в систему, а оно мне вместо «принято» пишет какие-то WA, TLE, RE на тестах. Я в панике, код вроде работает у меня локально. Что значат эти вердикты и как понять, что чинить?

2 ответа

13
✓ Принятый ответ — помог автору

Спокойно, это нормальная часть процесса, у всех так. Разберём основные вердикты:

  • OK / Accepted (AC) — ура, всё тесты пройдены, задача решена.
  • WA (Wrong Answer)неправильный ответ. Программа отработала, но выдала не то. Значит ошибка в логике/алгоритме или ты не учёл какой-то случай (например, отрицательные числа, ноль, пустой ввод).
  • TLE (Time Limit Exceeded)превышено время. Программа работает правильно, но слишком медленно для лимита. Обычно это значит, что нужен более быстрый алгоритм (например, перебор за O(n²) не лезет, нужен O(n log n)).
  • RE (Runtime Error)ошибка во время выполнения. Программа упала: выход за границы массива, деление на ноль, слишком глубокая рекурсия.
  • MLE (Memory Limit Exceeded)превышена память. Ты хранишь слишком много данных.
  • CE (Compilation Error) — код не скомпилировался, опечатка/синтаксис.

Как чинить: смотри, на каком тесте упало. WA на первом тесте — скорее всего неверный формат вывода или базовая ошибка. WA/TLE на дальних тестах — алгоритм не тянет крайние/большие случаи.

6

Лайфхак по борьбе с WA: придумай крайние случаи руками. Что если на входе ноль элементов? одно число? все числа одинаковые? самые большие из допустимых по условию? Очень часто решение валится именно на границах. А с TLE первым делом прикинь сложность своего алгоритма и сравни с ограничениями из условия: если n до 10⁵, а у тебя два вложенных цикла (это ~10¹⁰ операций) — всё, надо думать быстрее.

Ваш ответ

Войдите, чтобы ответить на вопрос.