#include<bits/stdc++.h>
#define sherina ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define pb push_back
#define int long long
#define INF 1e18
using namespace std;
int n , q;
stack < int > st;
char ans[200005];
signed main(){
cin >> n >> q;
st.push(1);
for(int i = 0 ; i <= n ; i++) ans[i] = ' ';
for(int i = 2 ; i <= n ; i++){
if(st.empty()){
st.push(i);
continue;
}
cout << "? " << st.top() << " " << i << endl;
int anss; cin >> anss;
if(anss){
ans[st.top()] = '(';
ans[i] = ')';
st.pop();
}
else st.push(i);
}
if(st.size() >= 1){
for(int i = 1 ; i <= n / 2 ; i++){
if(ans[i] != ')' && ans[i] != '(') ans[i] = ')';
}
for(int i = n/2 ; i >= 1 ; i--){
if(ans[i] != ')' && ans[i] != '(') ans[i] = '(';
}
}
cout << "! ";
for(int i = 1 ; i <= n ; i++) cout << ans[i];
cout << endl;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
208 KB |
Output is correct |
2 |
Correct |
5 ms |
208 KB |
Output is correct |
3 |
Correct |
8 ms |
208 KB |
Output is correct |
4 |
Correct |
8 ms |
208 KB |
Output is correct |
5 |
Correct |
9 ms |
208 KB |
Output is correct |
6 |
Correct |
6 ms |
208 KB |
Output is correct |
7 |
Correct |
6 ms |
208 KB |
Output is correct |
8 |
Correct |
7 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Answer length should be 2, but it is 1 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
208 KB |
Output is correct |
2 |
Correct |
363 ms |
336 KB |
Output is correct |
3 |
Correct |
544 ms |
336 KB |
Output is correct |
4 |
Correct |
599 ms |
336 KB |
Output is correct |
5 |
Correct |
716 ms |
336 KB |
Output is correct |
6 |
Correct |
653 ms |
348 KB |
Output is correct |
7 |
Correct |
416 ms |
676 KB |
Output is correct |
8 |
Correct |
616 ms |
380 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Answer length should be 4, but it is 2 |
2 |
Halted |
0 ms |
0 KB |
- |