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;
const int MAXN = 100010;
int n, q;
string ans;
bool query(int L, int R)
{
L++; R++;
cout << "? " << L << " " << R << endl;
int a;
cin >> a;
return a;
}
void answer()
{
cout << "! " << ans << endl;
exit(0);
}
int main()
{
cin >> n >> q;
ans.resize( n );
vector<int> s( 1 , 0 );
for(int i = 1 ; i < n ; i++)
{
if( query( s.back() , i ) )
{
ans[ s.back() ] = '(';
ans[i] = ')';
s.pop_back();
}
else s.push_back( i );
}
int qtd = (int)s.size(); qtd /= 2;
for(int i = 0 ; i < qtd ; i++)
ans[ s.back() ] = '(', s.pop_back();
for(int i = 0 ; i < qtd ; i++)
ans[ s.back() ] = ')', s.pop_back();
answer();
}
# | 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... |