#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, q, cnt=0;
cin >> n >> q;
vector<char> ans(n, 0);
set<int> s;
for (int i=0; i<n; i++)
s.insert(i);
for (auto it=s.begin(); it!=s.end();)
{
if (it==s.begin())
{
it++;
continue;
}
cout << "? " << *prev(it) << ' ' << *it << '\n';
fflush(stdout);
int x;
cin >> x;
if (x)
{
ans[*prev(it)]='(';
ans[*it]=')';
cnt++;
it++;
s.erase(prev(prev(it)));
s.erase(prev(it));
}
else
it++;
}
cnt=n/2-cnt;
cout << "! ";
for (int i=0; i<n; i++)
{
if (ans[i])
cout << ans[i];
else if (cnt)
{
cout << ')';
cnt--;
}
else
cout << '(';
}
fflush(stdout);
}
# | 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... |