Похоже, что на codeforces в компиляторе haskell Int - 32 битный: в этой задаче, посылка 528293(у меня не получилось получить ссылку на посылку, кто-нибудь подскажет, как это делать?) получается переполнение на 16 тесте, после изменения Int на Integer(он произвольной точности), посылка 528297 - проходит. По стандарту вроде написано что должно быть хотя бы -2^29..2^29 - 1, но все же, может, можно явно указать это при компиляции и поставить на codeforces. Попытался найти как это сделать - не получилось. Может тут есть знатоки haskell, которые знают?
я конечно в Haskell ноль, но замечу.
если вы написали, что по стандарту должно быть хотя бы -2^29...2^29-1 ( хотя, наверное, -2^31...2^31-1 ), то все равно в той задаче у вас будет переполнение.
так как 10^9 > 2^29 --> 2^29 * 2^29 = 2^58
видимо мне вам, увы, не помочь)) не хаскелист х)
просто думал, что int/integer на всех языках 32-битные)) ( int - c++ , integer - pascal )
http://en.wikipedia.org/wiki/LLP64#Specific_C-language_data_models
И на Windows и на Linux и на маке размер инта 32 бита у 64-ех битного компилятора.