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

Автор canonica1, история, 2 года назад, По-русски

Дело было так, я решал вот эту задачу у меня выдавало ошибку на 3 тесте. Я зашел в тесты и скопировал их к себе в консоль, у меня все отработало правильно. Сдавал я задачу на GNU C++20 (64) а на компе использую MS C++. Я попробовал отослать задачу на MS C++ и она прошла. Я никак не могу понять почему мое решение не проходит на GNU компиляторах. Если кто-то сталкивался с такой же проблемой отпишитесь ниже плз.

Вот отправка на GNU C++20 (64) 159270675

Вот на MS C++ 159270653

Сам тест выглядит так:

2
669765159380 893920095679
1
115294727238 342974296362040972

На GNU C++20 (64) выдает 342972847971513151

А на MS C++ 342973402441945293

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

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

UB, если N это a.begin():

auto N = a.lower_bound(H - r);
...
auto y = N;
y--;