This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(0); cin.tie(0);
int ptr1=1, ptr2;
int q;
string ini="", fim="";
cin >> ptr2 >> q;
while(ptr1<ptr2){
if(ptr1+1==ptr2){
cout << "? " << ptr1 << ' ' << ptr2 << endl;
int resp;
cin >> resp;
if(resp==1){
ini.push_back('(');
ini.push_back(')');
}
else{
ini.push_back(')');
ini.push_back('(');
}
break;
}
cout << "? " << ptr1 << ' ' << ptr1+1 << endl;
int r1;
cin >> r1;
cout << "? " << ptr2-1 << ' ' << ptr2 << endl;
int r2;
cin >> r2;
if(r1 && r2){
ptr1+=2;
ptr2-=2;
ini.push_back('(');
ini.push_back(')');
fim.push_back(')');
fim.push_back('(');
}
else if(r1){
ptr1+=2;
ini.push_back('(');
ini.push_back(')');
}
else if(r2){
ptr2-=2;
fim.push_back(')');
fim.push_back('(');
}
else{
ini.push_back('(');
fim.push_back(')');
ptr1++;
ptr2--;
}
}
reverse(fim.begin(), fim.end());
cout << "! ";
cout << ini << fim << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |