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;
#define ll int
#define pb push_back
const int mxN = 1e6 + 5;
ll n,a[mxN];
stack<ll> st;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n;
ll cnt = n / 2;
st.push(1);
for(int i = 2; i <= n;){
ll l = st.top();
cout << "? " << l << ' ' << i << endl;
ll ans;
cin >> ans;
if(ans){
a[l] = 1;
a[i] = 2;
cnt--;
st.pop();
}
else st.push(i);
if(st.empty()) st.push(++i);
i++;
}
ll val = 2;
cout << "! ";
for(int i = 1; i <= n; i++){
if(!a[i]){
cnt--;
a[i] = val;
if(cnt == 0) val = 1;
}
cout << ((a[i] == 1) ? ( '(' ) : ( ')' ));
}
cout.flush();
}
# | 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... |