이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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... |