What happened with __int128_t?
Difference between en5 and en6, changed 18 character(s)
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](https://atcoder.jp/contests/abc357/submissions/54366164).↵

[Wrong answer with int128](https://atcoder.jp/contests/abc357/submissions/54367133).↵

**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.

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)