QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#262561 | #7833. Binary String | QZJ123456 | WA | 2ms | 3640kb | C++14 | 1.0kb | 2023-11-23 20:21:31 | 2023-11-23 20:21:31 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
mt19937 rnd(1);
int R(int l,int r){
uniform_int_distribution<int>rd(l,r);
return rd(rnd);
}
int ans[1005];
void init(){
for(int i=1;i<=1000;i++)ans[i]=ans[i-1]+R(0,1);
}
int sum[1005];
int Get(int l,int r){
// int o=R(0,1);
// if(o==0)return ans[r]-ans[l-1];
// else return R(0,r-l+1);
cout<<"? "<<l<<" "<<r<<endl;
int x;cin>>x;
return x;
}
int main(){
init();
for(int s=0;s<1024;s++){
for(int i=1;i<=10;i++){
sum[i]=sum[i-1];
if((s>>(i-1))&1)sum[i]++;
}
int ct=0;
for(int i=1;i<=10;i++){
for(int j=i;j<=10;j++){
if(sum[j]-sum[i-1]==Get(i,j)){
ct++;
}
}
}
if(30<=ct&&ct<=35){
for(int i=11;i<=1000;i++){
int ct0=0,ct1=0;
for(int j=1;j<=10;j++){
int h=Get(j,i);
if(h==sum[i-1]-sum[j-1]+1)ct1++;
if(h==sum[i-1]-sum[j-1])ct0++;
}
sum[i]=sum[i-1];
if(ct0<ct1)sum[i]++;
}
cout<<"! ";
for(int i=1;i<=1000;i++)cout<<sum[i]-sum[i-1];
return 0;
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 2ms
memory: 3640kb
input:
1 1 2 1 5 3 1 7 5 4 0 2 1 2 3 2 6 4 7 0 2 2 2 4 2 2 5 1 1 1 1 4 1 4 1 1 3 0 3 0 0 0 0 0 4 0 2 3 4 0 1 3 0 2 1
output:
? 1 1 ? 1 2 ? 1 3 ? 1 4 ? 1 5 ? 1 6 ? 1 7 ? 1 8 ? 1 9 ? 1 10 ? 2 2 ? 2 3 ? 2 4 ? 2 5 ? 2 6 ? 2 7 ? 2 8 ? 2 9 ? 2 10 ? 3 3 ? 3 4 ? 3 5 ? 3 6 ? 3 7 ? 3 8 ? 3 9 ? 3 10 ? 4 4 ? 4 5 ? 4 6 ? 4 7 ? 4 8 ? 4 9 ? 4 10 ? 5 5 ? 5 6 ? 5 7 ? 5 8 ? 5 9 ? 5 10 ? 6 6 ? 6 7 ? 6 8 ? 6 9 ? 6 10 ? 7 7 ? 7 8 ? 7 9 ? 7 10...
result:
wrong output format Unexpected end of file - token expected