結果
| 問題 | 
                            No.3115 One Power One Kill
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2025-03-20 00:21:56 | 
| 言語 | C++23  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 67 ms / 2,000 ms | 
| コード長 | 1,469 bytes | 
| コンパイル時間 | 3,192 ms | 
| コンパイル使用メモリ | 277,328 KB | 
| 実行使用メモリ | 26,236 KB | 
| 平均クエリ数 | 2.00 | 
| 最終ジャッジ日時 | 2025-03-20 00:22:03 | 
| 合計ジャッジ時間 | 6,107 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 20 | 
ソースコード
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const vector<int> primes = {101, 103, 107, 109, 113,
    127, 131, 137, 139, 149, 151, 157, 163, 167, 173,
    179, 181, 191, 193, 197, 199, 211, 223, 227, 229,
    233, 239, 241, 251, 257, 263, 269, 271, 277, 281,
    283, 293, 307, 311, 313, 317, 331, 337, 347, 349,
    353, 359, 367, 373, 379, 383, 389, 397, 401, 409,
    419, 421, 431, 433, 439, 443, 449, 457, 461, 463,
    467, 479, 487, 491, 499, 503, 509, 521, 523, 541,
    547, 557, 563, 569, 571, 577, 587, 593, 599, 601,
    607, 613, 617, 619, 631, 641, 643, 647, 653, 659,
    661, 673, 677, 683, 691, 701, 709, 719, 727, 733,
    739, 743, 751, 757, 761, 769, 773, 787, 797, 809,
    811, 821, 823, 827, 829, 839, 853, 857, 859, 863,
    877, 881, 883, 887, 907, 911, 919, 929, 937, 941,
    947, 953, 967, 971, 977, 983, 991, 997};
const ll mod = 1'000'000'007;
ll mod_pow(ll a, ll x){
    ll ret = 1;
    while(x > 0){
        if(x & 1) ret = ret * a % mod;
        a = a * a % mod;
        x >>= 1;
    }
    return ret;
}
int main(){
    ll A = -1, B = -1;
    for(auto b: primes){
        for(int a = b - 1; a <= 100'000; a += b-1) {
            ll y = mod_pow(a, b);
            if(y % b == 0){
                A = a;
                B = b;
                break;
            }
        }
        if(A != -1) break;
    }
    cout << A << " " << B << endl;
    int k;
    cin >> k;
    cout << (k % B == 0 ? 0 : 1) << endl;
}