結果

問題 No.2117 中国剰余定理入門
ユーザー 259_Momone
提出日時 2022-11-04 21:50:11
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 48 ms / 2,000 ms
コード長 629 bytes
コンパイル時間 4,034 ms
コンパイル使用メモリ 247,272 KB
最終ジャッジ日時 2025-02-08 17:34:51
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/extc++.h>

int main() {
    using namespace std;
    unsigned long B_0, C_0, B_1, C_1;
    cin >> B_0;
    {
        long c;
        cin >> c;
        C_0 = (c % static_cast<long>(B_0) + B_0) % B_0;
    }
    cin >> B_1;
    {
        long c;
        cin >> c;
        C_1 = (c % static_cast<long>(B_1) + B_1) % B_1;
    }
    const auto g{gcd(B_0, B_1)};
    if(C_0 % g != C_1 % g){
        cout << "NaN" << endl;
        return 0;
    }
    for(unsigned long i{}; i <= 10000; ++i){
        if(i % B_0 == C_0 && i % B_1 == C_1){
            cout << i << endl;
            return 0;
        }
    }
    return 0;
}
0