Submission #1151008

#TimeUsernameProblemLanguageResultExecution timeMemory
1151008PlayVoltzZagrade (COI20_zagrade)C++20
71 / 100
227 ms928 KiB
#include <cstdio> #include <stdio.h> #include <stdbool.h> #include <iostream> #include <map> #include <vector> #include <climits> #include <stack> #include <string> #include <queue> #include <algorithm> #include <set> #include <unordered_set> #include <unordered_map> #include <cmath> #include <cctype> #include <bitset> #include <iomanip> #include <cstring> #include <numeric> #include <cassert> using namespace std; #define int long long #define pii pair<int, int> #define mp make_pair #define pb push_back #define fi first #define se second int32_t main(){ //ios_base::sync_with_stdio(0); //cin.tie(0); //cout.tie(0); int n, q, a, c=0; cin>>n>>q; c=n/2; stack<int> st; vector<char> ans(n+1); st.push(1); for (int i=2; i<=n; ++i){ if (st.empty()){ st.push(i); continue; } cout<<"? "<<st.top()<<" "<<i<<"\n"; cout.flush(); cin>>a; if (a){ ans[st.top()]='('; st.pop(), ans[i]=')'; --c; } else st.push(i); } while (c--)ans[st.top()]=')', st.pop(); while (st.size())ans[st.top()]='(', st.pop(); cout<<"! "; for (int i=1; i<=n; ++i)cout<<ans[i]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...