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

Автор 0x0002, история, 2 года назад, По-английски

I was solving problem F of ABC just now. And I got passed with long long, but when I change the type into __int128_t, it got wrong answer in most of the cases. Why is that?

Passed with long long.

Wrong answer with int128.

Upd: It is said that __int128_t can not be the index of array. It may cause wrong answer. So it is always not a good idea to use things like #define int __int128_t.

Upd2: I just tested some other things on AtCoder about __int128_t, it seems template<typename> may work incorrectly with __int128_t. That's from my function read(). I searched for many times in Google but have not found why.

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

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

Auto comment: topic has been updated by 0x0002 (previous revision, new revision, compare).

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

Auto comment: topic has been updated by 0x0002 (previous revision, new revision, compare).

»
2 года назад, скрыть # |
 
Проголосовать: нравится -12 Проголосовать: не нравится

Может быть проблема что ты заменяешь тип int — на int128. Если я не ошибаюсь нельзя передавать в функции значении int128 . Из за этого у тебя где в функции int передается значении 32 битной. Копилятор считает что ты передаешь просто тип данных int а не int128

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

Auto comment: topic has been updated by 0x0002 (previous revision, new revision, compare).

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

Auto comment: topic has been updated by 0x0002 (previous revision, new revision, compare).

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

Auto comment: topic has been updated by 0x0002 (previous revision, new revision, compare).

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

I had some problem in problem B as well. If I use islower and isupper function to calculate lowercase and uppercase character count I get Wrong answer but passed without inbuilt function. Is it a problem with compiler?