int left = std::numeric_limits<int>::min();
int right = -1;
//the code below instead of give one more than int_max gives: 18446744071562067968
unsigned long long result = left * right;
UAC を検索しようとしましたが、UAC ルールに従っても正しい出力が生成されるはずです。結果が正しくない理由はありますか?