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

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

На прошедшем Codeforces 226 div.2 произошла интересная история — решение для задачи С, написанное на MinGW и правильно работающее (хотя бы на сэмплах), при отправке выдает WA. Решил проверить это после контеста и наткнулся на следующее — при запуске решения на GNU C++ получается совершенно другой вывод, нежели на моем компьютере. При выборе Visual C++ как компилятора, все нормально. Хотелось бы спросить, не знает ли кто отчего это происходит?

Решение проверялось на 2 компьютерах с MinGW. На обоих выдается одинаковый правильный output.

5797567

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

»
11 лет назад, # |
Rev. 2   Проголосовать: нравится +10 Проголосовать: не нравится
bool p[limit];
 ...
	for (int i=2; i<=limit; ++i) 
		if (!p[i]) {

Выход за границу массива. А на C++ это означает КРОВЬ МЯСО КИШКИ UNDEFINED BEHAVIOR.