QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#827279 | #2567. Hidden Rook | cwfxlh | AC ✓ | 113ms | 3688kb | C++14 | 7.1kb | 2024-12-22 21:00:33 | 2024-12-22 21:01:53 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
int T,n,m,xa,xb,k1,k2,k3,k4,k5,k6,k7,k8,k9,lenx,leny;
bool chk(int xl,int yl,int xr,int yr){
if(xl==xr||yl==yr)return false;
if(xl<1||yl<1||xr>n||yr>m)return false;
if(xr-xl==yr-yl)return false;
return true;
}
int getquery(int a,int b,int c,int d){
cout<<"? "<<a<<' '<<b<<' '<<c<<' '<<d<<'\n';
fflush(stdout);
cin>>k1;
return k1;
}
void sol(int xl,int yl,int xr,int yr){
if(xl==xr&&yl==yr){
cout<<"! "<<xl<<" "<<yl<<'\n';
fflush(stdout);
return;
}
lenx=(xr-xl+2)/2;
leny=(yr-yl+2)/2;
if(xl==1&&yl==1&&xr==n&&yr==m){
if(lenx==leny){
if(n<=12||m<=12){
if(n<m)leny++;
else lenx++;
}
else{
if(n==m)lenx--;
else{
if(n<m)lenx--;
else leny--;
}
}
}
k1=getquery(1,1,lenx,leny);
if(k1==0){sol(lenx+1,leny+1,n,m);return;}
if(k1==lenx+leny-1){sol(1,1,lenx,leny);return;}
if(k1==leny){sol(1,leny+1,lenx,m);return;}
if(k1==lenx){sol(lenx+1,1,n,leny);return;}
return;
}
if(xl==xr){
if(xl>1)k1=getquery(xl-1,yl,xl,yl+leny-1);
else k1=getquery(xl,yl,xl+1,yl+leny-1);
if(k1==leny+1)sol(xl,yl,xr,yl+leny-1);
else sol(xl,yl+leny,xr,yr);
return;
}
if(yl==yr){
if(yl>1)k1=getquery(xl,yl-1,xl+lenx-1,yl);
else k1=getquery(xl,yl,xl+lenx-1,yl+1);
if(k1==lenx+1)sol(xl,yl,xl+lenx-1,yr);
else sol(xl+lenx,yl,xr,yr);
return;
}
if(n==3&&m==3&&(xr-xl+1==3||yr-yl+1==3)){
lenx=leny=1;
if(xr-xl+1==3)lenx=3;
else leny=3;
}
if(chk(xl,yl,xl+lenx-1,yl+leny-1)){
k1=getquery(xl,yl,xl+lenx-1,yl+leny-1);
if(k1==0){sol(xl+lenx,yl+leny,xr,yr);return;}
if(k1==leny){sol(xl,yl+leny,xl+lenx-1,yr);return;}
if(k1==lenx){sol(xl+lenx,yl,xr,yl+leny-1);return;}
if(k1==lenx+leny-1){sol(xl,yl,xl+lenx-1,yl+leny-1);return;}
return;
}
if(chk(xl-1,yl,xl+lenx-1,yl+leny-1)){
k1=getquery(xl-1,yl,xl+lenx-1,yl+leny-1);
if(k1==0){sol(xl+lenx,yl+leny,xr,yr);return;}
if(k1==leny){sol(xl,yl+leny,xl+lenx-1,yr);return;}
if(k1==lenx+1){sol(xl+lenx,yl,xr,yl+leny-1);return;}
if(k1==lenx+1+leny-1){sol(xl,yl,xl+lenx-1,yl+leny-1);return;}
return;
}
if(chk(xl,yl-1,xl+lenx-1,yl+leny-1)){
k1=getquery(xl,yl-1,xl+lenx-1,yl+leny-1);
if(k1==0){sol(xl+lenx,yl+leny,xr,yr);return;}
if(k1==leny+1){sol(xl,yl+leny,xl+lenx-1,yr);return;}
if(k1==lenx){sol(xl+lenx,yl,xr,yl+leny-1);return;}
if(k1==lenx+leny+1-1){sol(xl,yl,xl+lenx-1,yl+leny-1);return;}
return;
}
if(chk(xr-lenx+1,yr-leny+1,xr+1,yr)){
k1=getquery(xr-lenx+1,yr-leny+1,xr+1,yr);
if(k1==0){sol(xl,yl,xr-lenx,yr-leny);return;}
if(k1==leny){sol(xr-lenx+1,yl,xr,yr-leny);return;}
if(k1==lenx+1){sol(xl,yr-leny+1,xr-lenx,yr);return;}
if(k1==lenx+1+leny-1){sol(xr-lenx+1,yr-leny+1,xr,yr);return;}
return;
}
if(chk(xr-lenx+1,yr-leny+1,xr,yr+1)){
k1=getquery(xr-lenx+1,yr-leny+1,xr,yr+1);
if(k1==0){sol(xl,yl,xr-lenx,yr-leny);return;}
if(k1==leny+1){sol(xr-lenx+1,yl,xr,yr-leny);return;}
if(k1==lenx){sol(xl,yr-leny+1,xr-lenx,yr);return;}
if(k1==lenx+leny+1-1){sol(xr-lenx+1,yr-leny+1,xr,yr);return;}
return;
}
if(lenx==leny&&n<=7&&m<=7){
if(xr-xl+1<yr-yl+1)leny++;
else lenx++;
}
if(chk(xl-1,yl-1,xl+lenx-1,yl+leny-1)){
k1=getquery(xl-1,yl-1,xl+lenx-1,yl+leny-1);
if(k1==0){sol(xl+lenx,yl+leny,xr,yr);return;}
if(k1==lenx+1){sol(xl+lenx,yl,xr,yl+leny-1);return;}
if(k1==leny+1){sol(xl,yl+leny,xl+lenx-1,yr);return;}
if(k1==lenx+1+leny+1-1){sol(xl,yl,xl+lenx-1,yl+leny-1);return;}
return;
}
if(chk(xl-2,yl-1,xl+lenx-1,yl+leny-1)){
k1=getquery(xl-2,yl-1,xl+lenx-1,yl+leny-1);
if(k1==0){sol(xl+lenx,yl+leny,xr,yr);return;}
if(k1==lenx+2){sol(xl+lenx,yl,xr,yl+leny-1);return;}
if(k1==leny+1){sol(xl,yl+leny,xl+lenx-1,yr);return;}
if(k1==lenx+2+leny+1-1){sol(xl,yl,xl+lenx-1,yl+leny-1);return;}
return;
}
if(chk(xl-1,yl-2,xl+lenx-1,yl+leny-1)){
k1=getquery(xl-1,yl-2,xl+lenx-1,yl+leny-1);
if(k1==0){sol(xl+lenx,yl+leny,xr,yr);return;}
if(k1==lenx+1){sol(xl+lenx,yl,xr,yl+leny-1);return;}
if(k1==leny+2){sol(xl,yl+leny,xl+lenx-1,yr);return;}
if(k1==lenx+1+leny+2-1){sol(xl,yl,xl+lenx-1,yl+leny-1);return;}
return;
}
if(chk(xl-1,yr-leny+1,xl+lenx-1,yr+1)){
k1=getquery(xl-1,yr-leny+1,xl+lenx-1,yr+1);
if(k1==0){sol(xl+lenx,yl,xr,yr-leny);return;}
if(k1==lenx+1){sol(xl+lenx,yr-leny+1,xr,yr);return;}
if(k1==leny+1){sol(xl,yl,xl+lenx-1,yr-leny);return;}
if(k1==lenx+1+leny+1-1){sol(xl,yr-leny+1,xl+lenx-1,yr);return;}
return;
}
if(chk(xl-2,yr-leny+1,xl+lenx-1,yr+1)){
k1=getquery(xl-2,yr-leny+1,xl+lenx-1,yr+1);
if(k1==0){sol(xl+lenx,yl,xr,yr-leny);return;}
if(k1==lenx+2){sol(xl+lenx,yr-leny+1,xr,yr);return;}
if(k1==leny+1){sol(xl,yl,xl+lenx-1,yr-leny);return;}
if(k1==lenx+2+leny+1-1){sol(xl,yr-leny+1,xl+lenx-1,yr);return;}
return;
}
if(chk(xl-1,yr-leny+1,xl+lenx-1,yr+2)){
k1=getquery(xl-1,yr-leny+1,xl+lenx-1,yr+2);
if(k1==0){sol(xl+lenx,yl,xr,yr-leny);return;}
if(k1==lenx+1){sol(xl+lenx,yr-leny+1,xr,yr);return;}
if(k1==leny+2){sol(xl,yl,xl+lenx-1,yr-leny);return;}
if(k1==lenx+1+leny+2-1){sol(xl,yr-leny+1,xl+lenx-1,yr);return;}
return;
}
if(chk(xr-lenx+1,yl-1,xr+1,yl+leny-1)){
k1=getquery(xr-lenx+1,yl-1,xr+1,yl+leny-1);
if(k1==0){sol(xl,yl+leny,xr-lenx,yr);return;}
if(k1==lenx+1){sol(xl,yl,xr-lenx,yl+leny-1);return;}
if(k1==leny+1){sol(xr-lenx+1,yl+leny,xr,yr);return;}
if(k1==lenx+1+leny+1-1){sol(xr-lenx+1,yl,xr,yl+leny-1);return;}
return;
}
if(chk(xr-lenx+1,yl-1,xr+2,yl+leny-1)){
k1=getquery(xr-lenx+1,yl-1,xr+2,yl+leny-1);
if(k1==0){sol(xl,yl+leny,xr-lenx,yr);return;}
if(k1==lenx+2){sol(xl,yl,xr-lenx,yl+leny-1);return;}
if(k1==leny+1){sol(xr-lenx+1,yl+leny,xr,yr);return;}
if(k1==lenx+2+leny+1-1){sol(xr-lenx+1,yl,xr,yl+leny-1);return;}
return;
}
if(chk(xr-lenx+1,yl-2,xr+1,yl+leny-1)){
k1=getquery(xr-lenx+1,yl-2,xr+1,yl+leny-1);
if(k1==0){sol(xl,yl+leny,xr-lenx,yr);return;}
if(k1==lenx+1){sol(xl,yl,xr-lenx,yl+leny-1);return;}
if(k1==leny+2){sol(xr-lenx+1,yl+leny,xr,yr);return;}
if(k1==lenx+1+leny+2-1){sol(xr-lenx+1,yl,xr,yl+leny-1);return;}
return;
}
if(chk(xr-lenx+1,yr-leny+1,xr+1,yr+1)){
k1=getquery(xr-lenx+1,yr-leny+1,xr+1,yr+1);
if(k1==0){sol(xl,yl,xr-lenx,yr-leny);return;}
if(k1==lenx+1){sol(xl,yr-leny+1,xr-lenx,yr);return;}
if(k1==leny+1){sol(xr-lenx+1,yl,xr,yr-leny);return;}
if(k1==lenx+1+leny+1-1){sol(xr-lenx+1,yr-leny+1,xr,yr);return;}
return;
}
if(chk(xr-lenx+1,yr-leny+1,xr+2,yr+1)){
k1=getquery(xr-lenx+1,yr-leny+1,xr+2,yr+1);
if(k1==0){sol(xl,yl,xr-lenx,yr-leny);return;}
if(k1==lenx+2){sol(xl,yr-leny+1,xr-lenx,yr);return;}
if(k1==leny+1){sol(xr-lenx+1,yl,xr,yr-leny);return;}
if(k1==lenx+2+leny+1-1){sol(xr-lenx+1,yr-leny+1,xr,yr);return;}
return;
}
if(chk(xr-lenx+1,yr-leny+1,xr+1,yr+2)){
k1=getquery(xr-lenx+1,yr-leny+1,xr+1,yr+2);
if(k1==0){sol(xl,yl,xr-lenx,yr-leny);return;}
if(k1==lenx+1){sol(xl,yr-leny+1,xr-lenx,yr);return;}
if(k1==leny+2){sol(xr-lenx+1,yl,xr,yr-leny);return;}
if(k1==lenx+1+leny+2-1){sol(xr-lenx+1,yr-leny+1,xr,yr);return;}
return;
}
return;
}
int main(){
cin>>T;
while(T--){
cin>>n>>m;
sol(1,1,n,m);
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3612kb
input:
2 6 6 6 3 2 1 7 5 3 3 2
output:
? 1 1 4 3 ? 3 2 5 3 ? 1 1 3 2 ? 1 2 1 3 ! 2 3 ? 1 1 4 3 ? 3 3 5 4 ? 1 3 1 4 ! 1 4
result:
ok Good (2 test cases)
Test #2:
score: 0
Accepted
time: 1ms
memory: 3560kb
input:
3 15 15 14 5 3 4 3 15 8 5 3 2 15 15 8 4 4 4
output:
? 1 1 7 8 ? 4 5 8 8 ? 1 4 2 6 ? 2 6 4 7 ! 2 7 ? 1 1 2 8 ? 2 12 3 15 ? 1 12 2 13 ? 1 12 2 12 ! 2 12 ? 1 1 7 8 ? 1 8 4 12 ? 4 9 6 10 ? 3 8 5 9 ! 5 9
result:
ok Good (3 test cases)
Test #3:
score: 0
Accepted
time: 0ms
memory: 3688kb
input:
100 6 6 6 4 2 1 3 4 2 3 2 7 8 5 0 2 5 6 0 2 1 9 4 5 4 2 11 4 6 0 2 15 12 8 3 4 2 5 9 7 0 2 6 7 3 4 4 1 9 9 10 4 2 2 11 4 6 0 2 12 7 4 0 2 14 7 0 4 4 1 9 6 0 4 3 12 11 7 4 2 1 3 14 7 5 3 2 15 12 0 6 3 4 7 10 8 0 0 15 5 0 0 3 2 11 9 5 4 4 2 14 7 4 5 3 2 15 10 0 4 4 4 7 4 4 3 5 13 7 3 4 2 13 8 0 3 3 15...
output:
? 1 1 4 3 ? 3 2 5 3 ? 2 1 4 2 ? 3 2 3 3 ! 4 3 ? 1 1 2 3 ? 2 1 3 2 ? 2 1 3 1 ! 3 1 ? 1 1 4 5 ? 1 5 2 7 ? 3 7 3 8 ! 3 8 ? 1 1 3 4 ? 3 4 5 5 ? 4 5 4 6 ! 5 6 ? 1 1 5 2 ? 5 2 7 3 ? 6 1 6 2 ! 6 2 ? 1 1 6 2 ? 9 2 11 3 ? 7 1 7 2 ! 7 1 ? 1 1 8 6 ? 9 1 12 3 ? 8 4 10 5 ? 7 3 9 4 ! 9 5 ? 1 1 3 5 ? 1 1 2 3 ? 2 4...
result:
ok Good (100 test cases)
Test #4:
score: 0
Accepted
time: 2ms
memory: 3604kb
input:
50 9 8 0 3 3 4 11 0 2 3 2 9 11 6 6 2 1 13 8 4 2 4 2 4 15 8 2 3 1 8 9 4 2 2 1 11 12 6 0 2 2 11 14 0 0 4 1 14 14 0 5 4 3 8 3 5 0 2 6 7 6 0 1 4 12 6 0 3 1 6 4 4 3 9 15 0 2 0 2 12 7 9 0 3 13 14 6 4 4 0 12 11 7 3 2 1 12 13 6 4 4 3 8 5 6 2 2 8 10 5 2 4 1 13 3 7 2 2 8 10 0 3 4 15 15 0 4 4 4 8 3 5 4 1 8 5 4...
output:
? 1 1 5 4 ? 5 5 7 6 ? 6 4 8 5 ! 9 5 ? 1 1 2 6 ? 2 7 3 9 ? 3 7 4 8 ? 3 7 4 7 ! 4 7 ? 1 1 5 6 ? 1 6 3 9 ? 1 6 2 8 ? 2 7 3 7 ! 3 8 ? 1 1 7 4 ? 1 5 4 6 ? 3 6 5 7 ? 3 6 3 7 ! 3 7 ? 1 1 2 8 ? 2 12 3 15 ? 1 12 2 13 ? 1 12 2 12 ! 1 13 ? 1 1 4 5 ? 5 1 6 3 ? 6 2 7 4 ? 7 2 8 2 ! 8 3 ? 1 1 6 7 ? 7 1 9 4 ? 9 4 1...
result:
ok Good (50 test cases)
Test #5:
score: 0
Accepted
time: 0ms
memory: 3632kb
input:
50 9 14 5 2 4 1 15 4 9 0 3 2 6 6 3 4 2 1 10 11 10 0 0 10 3 5 2 3 1 12 13 12 6 3 1 5 15 3 2 2 1 15 9 12 4 3 4 11 7 4 3 4 2 3 8 5 2 2 7 7 8 4 2 1 12 9 10 4 3 2 3 5 3 2 2 5 3 4 0 10 12 6 3 2 1 7 3 2 2 2 11 11 6 6 4 4 15 8 11 0 2 2 11 11 6 4 0 7 14 7 5 0 2 9 8 4 2 4 2 7 6 6 2 1 6 6 4 3 15 4 9 0 3 2 9 11...
output:
? 1 1 5 7 ? 6 1 7 4 ? 7 3 8 5 ? 7 3 8 3 ! 8 4 ? 1 1 8 2 ? 5 2 8 3 ? 1 1 2 2 ? 1 1 1 2 ! 1 1 ? 1 1 4 3 ? 1 3 2 5 ? 1 3 3 4 ? 1 4 1 5 ! 2 5 ? 1 1 5 6 ? 3 4 6 6 ? 2 2 3 4 ! 1 1 ? 1 1 5 2 ? 8 2 10 3 ? 8 1 9 2 ? 8 1 8 2 ! 9 1 ? 1 1 6 7 ? 1 1 3 4 ? 2 3 4 4 ? 1 3 2 3 ! 1 4 ? 1 1 3 8 ? 3 1 4 4 ? 4 1 5 2 ? 4...
result:
ok Good (50 test cases)
Test #6:
score: 0
Accepted
time: 2ms
memory: 3564kb
input:
50 14 14 7 6 0 2 6 3 0 2 13 6 0 4 4 2 11 13 7 3 4 2 9 4 6 3 1 10 12 6 3 0 3 12 0 3 3 1 12 5 0 2 3 2 13 4 8 0 2 9 9 0 2 2 10 6 0 2 2 3 5 3 2 1 6 12 8 0 2 7 9 0 3 2 10 11 5 3 0 8 5 6 0 1 5 4 3 2 1 7 5 4 4 4 2 13 4 8 4 3 1 5 14 9 0 3 1 4 13 7 2 3 1 5 13 3 5 3 2 10 5 5 2 3 2 9 8 0 3 0 4 12 2 4 3 2 5 7 3...
output:
? 1 1 6 7 ? 1 8 3 11 ? 1 7 2 9 ? 2 10 3 10 ! 3 10 ? 1 1 3 2 ? 4 2 5 3 ! 6 3 ? 1 1 7 3 ? 8 4 10 5 ? 7 3 9 4 ? 8 3 8 4 ! 8 4 ? 1 1 6 7 ? 1 7 3 10 ? 3 8 5 9 ? 2 7 4 8 ! 4 9 ? 1 1 5 2 ? 3 2 5 3 ? 1 1 1 2 ! 2 2 ? 1 1 5 6 ? 1 6 3 9 ? 3 6 4 8 ! 5 9 ? 1 1 2 6 ? 2 7 3 9 ? 2 10 3 11 ? 2 10 3 10 ! 3 11 ? 1 1 6...
result:
ok Good (50 test cases)
Test #7:
score: 0
Accepted
time: 2ms
memory: 3628kb
input:
50 12 15 0 0 4 4 6 7 4 3 2 10 5 7 0 1 11 9 6 6 4 0 14 5 3 5 2 2 14 8 0 0 3 15 12 6 6 2 4 8 13 10 5 3 1 4 15 2 4 3 2 12 8 0 0 2 1 6 12 0 2 3 1 11 5 6 3 3 13 6 3 4 2 2 11 13 0 4 2 2 9 7 8 4 2 2 5 13 0 2 3 2 5 6 6 0 1 14 7 0 5 4 1 8 10 8 4 0 13 9 11 6 2 2 10 11 6 0 0 8 10 0 3 4 12 6 3 4 2 2 11 13 6 0 0...
output:
? 1 1 6 8 ? 7 9 9 12 ? 9 13 11 14 ? 8 12 10 13 ! 10 13 ? 1 1 3 4 ? 1 4 2 6 ? 1 6 1 7 ! 1 7 ? 1 1 5 3 ? 1 1 3 2 ? 4 2 4 3 ! 5 3 ? 1 1 6 5 ? 6 1 9 3 ? 6 1 8 2 ? 5 2 7 3 ! 8 1 ? 1 1 7 3 ? 1 3 4 4 ? 1 3 2 4 ? 3 3 3 4 ! 3 4 ? 1 1 7 4 ? 8 5 11 6 ? 11 6 13 7 ! 14 7 ? 1 1 8 6 ? 1 7 4 9 ? 1 6 2 8 ? 1 6 3 7 !...
result:
ok Good (50 test cases)
Test #8:
score: 0
Accepted
time: 2ms
memory: 3628kb
input:
50 11 11 7 3 3 10 11 6 0 4 4 4 0 1 13 12 6 4 4 3 14 9 11 4 3 2 12 5 8 2 3 2 14 13 0 8 4 4 4 8 0 4 2 14 15 8 4 2 4 14 3 7 5 3 2 13 10 7 6 3 2 14 10 7 6 4 3 9 6 7 4 4 1 12 9 10 3 4 2 5 11 0 4 2 10 5 5 0 2 12 5 3 3 3 1 12 3 7 0 3 2 12 5 8 2 3 2 8 14 0 5 4 1 4 15 2 0 3 1 10 6 7 2 3 2 9 11 5 2 4 2 10 7 5...
output:
? 1 1 7 6 ? 8 1 9 3 ? 7 3 8 5 ! 8 6 ? 1 1 5 6 ? 1 6 3 9 ? 2 9 4 10 ! 4 10 ? 1 1 3 2 ? 3 3 4 3 ! 4 4 ? 1 1 7 6 ? 1 7 4 9 ? 4 7 6 8 ? 3 6 5 7 ! 6 7 ? 1 1 7 5 ? 1 1 4 3 ? 4 1 6 2 ? 6 1 7 1 ! 7 1 ? 1 1 6 3 ? 1 1 3 2 ? 1 2 2 3 ? 1 2 1 3 ! 1 3 ? 1 1 7 6 ? 7 7 11 10 ? 7 7 9 8 ? 6 6 8 7 ! 8 7 ? 1 1 2 4 ? 2 ...
result:
ok Good (50 test cases)
Test #9:
score: 0
Accepted
time: 2ms
memory: 3536kb
input:
50 9 10 5 0 4 1 8 7 0 2 2 4 12 7 4 2 7 10 5 2 0 14 10 11 4 4 0 3 7 5 0 2 8 15 8 5 2 2 3 14 7 2 3 2 15 3 9 5 3 1 14 3 7 5 2 1 5 12 3 4 3 2 4 11 7 0 3 1 10 4 0 3 1 10 12 6 6 3 2 11 6 3 4 4 1 14 7 7 4 2 1 4 12 2 2 3 2 5 12 0 2 3 1 8 11 9 4 4 1 5 5 4 2 5 8 6 3 1 12 8 4 2 4 1 3 4 3 2 11 10 10 4 2 1 3 4 3...
output:
? 1 1 5 6 ? 6 1 7 3 ? 7 3 8 5 ? 7 4 8 4 ! 8 5 ? 1 1 5 4 ? 5 5 7 6 ? 6 6 6 7 ! 6 7 ? 1 1 2 6 ? 2 4 3 6 ? 1 4 2 5 ! 2 6 ? 1 1 4 5 ? 1 6 2 8 ? 2 5 3 7 ! 4 8 ? 1 1 7 5 ? 1 1 4 3 ? 4 1 6 2 ? 3 2 5 3 ! 6 1 ? 1 1 2 4 ? 2 3 3 5 ? 1 1 2 1 ! 1 1 ? 1 1 4 8 ? 1 9 2 12 ? 2 8 3 10 ? 1 9 2 9 ! 1 9 ? 1 1 2 7 ? 2 11...
result:
ok Good (50 test cases)
Test #10:
score: 0
Accepted
time: 1ms
memory: 3616kb
input:
16 3 3 4 4 3 1 3 3 4 4 3 2 3 3 4 4 3 1 3 3 2 3 1 3 3 4 2 3 2 3 3 2 3 2 3 3 4 2 2 3 3 4 4 2 3 3 2 2 3 4 4 4 2 3 4 4 4 1 4 3 4 4 2 4 3 4 4 1 4 3 4 0 4 4 4 4 2 4 4 0 1
output:
? 1 1 3 2 ? 1 2 3 3 ? 1 1 2 2 ? 1 1 1 2 ! 2 2 ? 1 1 3 2 ? 1 2 3 3 ? 1 1 2 2 ? 1 1 1 2 ! 1 2 ? 1 1 3 2 ? 1 2 3 3 ? 1 1 2 2 ? 1 1 1 2 ! 2 2 ? 1 1 3 2 ? 1 2 2 3 ? 1 2 1 3 ! 2 3 ? 1 1 3 2 ? 1 2 3 3 ? 1 1 2 2 ? 1 1 1 2 ! 1 1 ? 1 1 3 2 ? 1 2 2 3 ? 1 2 1 3 ! 1 3 ? 1 1 3 2 ? 1 2 3 3 ? 1 1 2 2 ! 3 1 ? 1 1 3 ...
result:
ok Good (16 test cases)
Test #11:
score: 0
Accepted
time: 113ms
memory: 3540kb
input:
15000 12 8 6 3 0 12 15 8 4 4 0 3 9 0 2 1 11 10 10 0 2 2 3 14 2 5 3 2 11 9 10 3 4 2 14 4 7 0 3 1 8 5 0 2 1 11 10 5 0 4 1 8 9 4 4 2 1 5 12 3 0 2 13 9 11 6 0 2 7 13 4 4 2 1 12 12 7 0 4 1 15 9 12 0 2 1 12 12 6 0 4 4 9 10 6 4 4 2 9 15 8 3 4 2 12 14 12 0 3 1 5 4 0 4 2 15 9 5 2 2 2 14 7 7 5 4 1 8 15 4 0 2 ...
output:
? 1 1 6 4 ? 7 1 9 2 ? 9 2 11 3 ! 12 1 ? 1 1 6 8 ? 1 9 3 12 ? 1 12 2 14 ? 2 12 4 13 ! 1 14 ? 1 1 2 5 ? 2 6 3 7 ? 2 8 3 8 ! 3 9 ? 1 1 6 5 ? 4 3 7 5 ? 2 2 4 3 ? 2 1 2 2 ! 2 1 ? 1 1 2 7 ? 2 1 3 4 ? 2 1 3 2 ? 2 1 3 1 ! 3 1 ? 1 1 6 5 ? 4 3 7 5 ? 3 2 5 3 ? 4 1 4 2 ! 4 2 ? 1 1 7 2 ? 11 2 14 3 ? 8 1 9 2 ? 8 ...
result:
ok Good (15000 test cases)