結果

問題 No.2724 Coprime Game 1
ユーザー hirakuuuu
提出日時 2024-04-12 22:11:44
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 230 ms / 2,000 ms
コード長 1,687 bytes
コンパイル時間 3,103 ms
コンパイル使用メモリ 247,548 KB
実行使用メモリ 16,272 KB
最終ジャッジ日時 2024-10-02 23:22:04
合計ジャッジ時間 4,789 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 7
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <bits/stdc++.h>
using namespace std;
#define rep(i, a, n) for(int i = a; i < n; i++)
#define rrep(i, a, n) for(int i = a; i >= n; i--)
#define inr(l, x, r) (l <= x && x < r)
#define ll long long
#define ld long double
#define pii pair<int, int>
#define pll pair<ll, ll>
// constexpr ll MOD = 1000000007;
constexpr ll MOD = 998244353;
constexpr int IINF = 1001001001;
constexpr ll INF = 9e18;
template<class t,class u> void chmax(t&a,u b){if(a<b)a=b;}
template<class t,class u> void chmin(t&a,u b){if(b<a)a=b;}
ll power(ll a, ll b, ll m=MOD){
ll res = 1;
while(b > 0){
if(b%2 == 1) res = res*a%m;
a = a*a%m;
b /= 2;
}
return res;
}
// 0, 0
vector<int> erat(3000005);
void init_e(){
rep(i, 2, sqrt(3000005)+1){
if(erat[i] == 0){
for(ll j = i*i; j < 3000005; j += i){
if(erat[j] == 0) erat[j] = i;
}
}
}
}
int main(){
int t; cin >> t;
init_e();
vector<int> p;
rep(i, 2, 3000005){
if(erat[i] == 0) p.push_back(i);
}
// cout << p.size() << endl;
while(t--){
int n; cin >> n;
int prime = erat[n];
if(prime == 0){
cout << "P" << endl;
continue;
}
// nprime n
auto r = upper_bound(p.begin(), p.end(), n);
auto l = upper_bound(p.begin(), p.end(), n/2);
// cout << r-l << ' ' << n-2-(r-l) << endl;
int cnt = n-2-(r-l);
if(cnt%2 == 1) cout << "K" << endl;
else cout << "P" << endl;
}
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0