結果

問題 No.2496 LCM between Permutations
ユーザー tails
提出日時 2023-10-06 23:15:11
言語 cLay
(20241019-1)
結果
AC  
実行時間 89 ms / 2,000 ms
コード長 935 bytes
コンパイル時間 8,618 ms
コンパイル使用メモリ 231,304 KB
実行使用メモリ 26,780 KB
平均クエリ数 638.14
最終ジャッジ日時 2024-07-26 16:59:10
合計ジャッジ時間 11,171 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

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

//interactive
ll q(ll a,ll b :Memoize){
wt("?",a,b);
ll@x;
return x;
}
{
ll@n,a[n],b[n];
if(n==1){
wt("! 1 1");
exit(0);
}
rep(i,1,n+1){
ll x=q(i,i);
if(x>1){
ll f=Factor(x,a);
x=a[f-1];
if(x*2>n){
ll y=q(i,i%n+1);
if(y%x==0){
//a[i] is large prime
ll o=0;
rep(j,1,n+1){
ll z=q(i,j);
if(z==x){
ll w=q(i%n+1,j);
if(w%x==0){
b[j-1]=x;
}else{
b[j-1]=1;
o=j;
}
}else{
b[j-1]=z/x;
}
}
rep(j,1,n+1){
a[j-1]=q(j,o);
}
}else{
//b[i] is large prime
ll o=0;
rep(j,1,n+1){
ll z=q(j,i);
if(z==x){
ll w=q(j,i%n+1);
if(w%x==0){
a[j-1]=x;
}else{
a[j-1]=1;
o=j;
}
}else{
a[j-1]=z/x;
}
}
rep(j,1,n+1){
b[j-1]=q(o,j);
}
}
wt("!",a(n),b(n));
exit(0);
}
}
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0