結果
問題 |
No.3119 A Little Cheat
|
ユーザー |
|
提出日時 | 2025-04-19 11:46:38 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,311 bytes |
コンパイル時間 | 949 ms |
コンパイル使用メモリ | 86,896 KB |
実行使用メモリ | 7,848 KB |
最終ジャッジ日時 | 2025-04-19 11:46:42 |
合計ジャッジ時間 | 3,589 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 49 |
ソースコード
#include <iostream> #include <cmath> #include <algorithm> const int MOD = 1000000007; const int MOD2 = 456; using namespace std; // Function to calculate power with modulo long long mod_pow(long long base, long long exp, long long mod) { long long result = 1; while (exp > 0) { if (exp % 2 == 1) { result = (result * base) % mod; } base = (base * base) % mod; exp /= 2; } return result; } // Function to calculate gcd long long gcd(long long a, long long b) { while (b != 0) { long long temp = b; b = a % b; a = temp; } return a; } int main() { long long X = 100; // Initial X value is given as 100 long long A, B; cin >> A >> B; // Input values for A and B // Step 1: Calculate Y = A^B % (10^9 + 7) long long Y = mod_pow(A, B, MOD); cout << "Judge is Y = " << A << "^" << B << " % (10^9 + 7) = " << Y << endl; // Step 2: Calculate K = gcd(X, Y) long long K = gcd(X, Y); cout << "Judge is K = gcd(X, Y) = " << K << endl; // Step 3: Calculate X' = X^K % 456 long long X_prime = mod_pow(X, K, MOD2); cout << "Judge is X' = X^" << K << " % 456 = " << X_prime << endl; // Output final result cout << "Final X' = " << X_prime << endl; return 0; }