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

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

Сейчас на контесте заливал задачу B для второго дива и столкнулся с проблемой, заключающейся видимо в классе Date.

http://codeforces.net/contest/304/submission/3708026 — это сабмит, который не проходит второй претест, на моем компе результат, выдаваемый на такой набор входных данных, отличается от полученнего на кф(собственно на моем компе считается правильно).

http://ideone.com/qAWGrd — мой код, на второй претест выдает верный ответ.

Почему так происходит?=) http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Date.html — прочитал это, но мне это не очень помогло

UPD: подглядел чье-то решение на Java, и вот такой код зашел — http://codeforces.net/contest/304/submission/3712817 . Но ведь секунды,минуты, час не задаются и при делении не должно получаться дробей, но судя по тому что это заходит, они там как-то получаются.

Полный текст и комментарии »

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

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

Сегодня на контесте(Крок мвту финал) решал задачу Ц. Написал решение, прошло претесты, я был в нем уверен.

После финального тестирования оно упало на 36 тесте с вердиктом wa. Долго не мог понять в чем косяк, потом появился разбор, оказалось, что я так и решал. Никак не мог понять в чем ошибка. В итоге решил в поиске найти, кто тоже упал на этом же тесте. Нашел вот такую попытку — http://codeforces.net/contest/250/submission/2660008 . Сверил со своим, все так же. Посмотрел историю посылок, увидел, что задача в итоге сдалась. http://codeforces.net/contest/250/submission/2663690 . Проблема крылась в сравнении Integer (надо было equals вместо =).

Решаю уже где-то год на яве. Никогда с этим не сталкивался, пару раз на хабре видел, что бывает такая проблема, но благополучно забил на это. И вот сегодня столкнулся с такой проблемой все-таки.

Вроде бы нашел, почему такое происходит(https://www.owasp.org/index.php/Java_gotchas#Immutable_Objects_.2F_Wrapper_Class_Caching). Но остался вопрос, насколько лишний вызов метода может замедлять программу? И вообще, почему я раньше с этим не сталкивался, всегда писав == вместо equals, вроде бы эта проблема должна часто проявляться.

Спасибо.

p.s. весьма обидно, что так получилось, решил сегодня 3 задачи(одна по глупости слетела из торопливости и еще вот эта, а до финальных тестов был в топ50=( )

Полный текст и комментарии »

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