| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1361720 | imchy | Dark Ride (EGOI25_darkride) | C++20 | 3 ms | 448 KiB |
#include <bits/stdc++.h>
using namespace std;
vector<char> s;
pair<int, int> ans={-1,-1};
int n;
int uPrvoj(int l, int r){
if(l==r){
return l;
}
int pl=l, pr=((r-l+1)%2==0) ? r-(r-l+1)/2 : r-(r-l)/2;
for(int i=pl;i<=pr;i++){
s[i]='1';
}
cout<<"?";
for(int i=0;i<n;i++){
cout<<s[i];
}
cout<<endl;
int k;
cin>>k;
for(int i=pl;i<=pr;i++){
s[i]='0';
}
if(k==(pr-pl+1)*2)
return uPrvoj(pr+1, r);
return uPrvoj(pl, pr);
}
int main(){
cin>>n;
s.resize(n);
for(int i=0;i<n;i++){
s[i]='0';
}
if(n<=30){
for(int i=0;i<n;i++){
s[i]='1';
cout<<"?";
for(int j=0;j<n;j++)
cout<<s[j];
int k;
cout<<endl;
cin>>k;
if(k==1){
if(ans.first==-1)
ans.first=i;
else
ans.second=i;
}
s[i]='0';
if(ans.first!=-1 && ans.second!=-1){
cout<<"!"<<ans.first<<" "<<ans.second<<endl;
return 0;
}
}
}
else{
ans.first=0;
ans.second=uPrvoj(1, n-1);
cout<<"!"<<ans.first<<" "<<ans.second<<endl;
}
return 0;
}
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
