What happened with __int128_t?

Revision en5, by 0x0002, 2024-06-10 09:01:19

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 but have not found why.

Tags __int128

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en6 English 0x0002 2024-06-10 13:36:14 18
en5 English 0x0002 2024-06-10 09:01:19 226
en4 English 0x0002 2024-06-09 17:32:32 77
en3 English 0x0002 2024-06-09 14:50:40 4 Tiny change: 'aid that `int128` can not ' -> 'aid that `__int128_t` can not '
en2 English 0x0002 2024-06-09 06:49:47 91
en1 English 0x0002 2024-06-08 17:08:35 379 Initial revision (published)