結果
問題 | No.442 和と積 |
ユーザー |
|
提出日時 | 2021-05-25 04:55:31 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,017 bytes |
コンパイル時間 | 1,800 ms |
コンパイル使用メモリ | 193,728 KB |
最終ジャッジ日時 | 2025-01-21 18:07:18 |
ジャッジサーバーID (参考情報) |
judge4 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#include <bits/stdc++.h>using namespace std;std::ostream&operator<<(std::ostream& dest, __int128_t value){std::ostream::sentry s(dest);if (s) {__uint128_t tmp = value < 0 ? -value : value;char buffer[128];char* d = std::end(buffer);do{--d;*d = "0123456789"[tmp % 10];tmp /= 10;} while (tmp != 0);if (value < 0) {--d;*d = '-';}int len = std::end(buffer) - d;if (dest.rdbuf()->sputn(d, len) != len) {dest.setstate(std::ios_base::badbit);}}return dest;}__int128 gcd(__int128 a, __int128 b){if (b == 0){return a;}return gcd(b, a % b);}int main(void){cin.tie(0);ios::sync_with_stdio(false);long long int A, B;cin >> A >> B;__int128 a = A;__int128 b = B;__int128 X = A + B;__int128 Y = a * b;cout << gcd(X, Y) << '\n';return 0;}