#include <bits/stdc++.h>
using namespace std;
#define int long long
int n, q;
char ch[100005];
vector<int> st;
int ask(int i, int j) {
cout << "? " << i << ' ' << j << endl;
int res; cin >> res;
return res;
}
int32_t main() {
cin >> n >> q;
for (int i = 1; i <= n; i++) ch[i] = '.';
int j = 1;
while (j <= n) {
if (st.empty()) st.push_back(j++);
if (j > n) break;
int res = ask(st.back(), j);
if (res) {
ch[st.back()] = '(';
ch[j] = ')';
st.pop_back();
} else st.push_back(j);
j++;
}
int cnt = 0;
for (int i = 1; i <= n; i++) if (ch[i] == ')') cnt++;
string s = "";
for (int i = 1; i <= n; i++) {
if (ch[i] != '.') s += ch[i];
else if (cnt * 2 < n) {
s += ')';
cnt++;
} else s += '(';
}
cout << "! " << s << 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... |