#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(){
int buka = 0;
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] = ')';
buka++;
st.pop();
}
else st.push(i);
}
if(st.size() >= 1){
for(int i = 1 ; i <= n ; i++){
if(buka == 0) break;
if(ans[i] != ')' && ans[i] != '('){
ans[i] = ')';
buka--;
}
}
for(int i = n ; 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 |
1 ms |
208 KB |
Output is correct |
2 |
Correct |
4 ms |
256 KB |
Output is correct |
3 |
Correct |
8 ms |
208 KB |
Output is correct |
4 |
Correct |
5 ms |
208 KB |
Output is correct |
5 |
Correct |
9 ms |
208 KB |
Output is correct |
6 |
Correct |
8 ms |
208 KB |
Output is correct |
7 |
Correct |
8 ms |
208 KB |
Output is correct |
8 |
Correct |
7 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Mismatch at position 1. Expected ), found ( |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
208 KB |
Output is correct |
2 |
Correct |
308 ms |
336 KB |
Output is correct |
3 |
Correct |
852 ms |
336 KB |
Output is correct |
4 |
Correct |
659 ms |
336 KB |
Output is correct |
5 |
Correct |
608 ms |
384 KB |
Output is correct |
6 |
Correct |
665 ms |
336 KB |
Output is correct |
7 |
Correct |
716 ms |
720 KB |
Output is correct |
8 |
Correct |
542 ms |
336 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
208 KB |
Mismatch at position 1. Expected ), found ( |
2 |
Halted |
0 ms |
0 KB |
- |