Submission #1152390

#TimeUsernameProblemLanguageResultExecution timeMemory
1152390kxdZagrade (COI20_zagrade)C++20
100 / 100
235 ms1344 KiB
#include <bits/stdc++.h> //#define DEBUG 1106 #define int long long #define ll long long #define ld long double #define pb emplace_back #define p_q priority_queue #define m_p make_pair #define pii pair<int,int> #define endl '\n' #define INIT ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define FOR(i,a,b) for(int i = a; i <= b; i++) #define forn(i,n) for (int i = 0; i < n; i++) #define forn1(i,n) for (int i = 1; i <= n; i++) #define all(x) x.begin(),x.end() #define ft first #define sd second #define lowbit(x) (x&(-x)) #define chmax(x,y) x=max(x,y) #define chmin(x,y) x=min(x,y) #ifdef DEBUG #define debug(x) cout << #x << ": " << x << endl; #else #define debug(x) 1106; #endif using namespace std; const int N = 1e6+5; const int M = 2005; const int inf = 1e9; const int INF = 1e18; const int MOD = 1e9+7; char a[N]; signed main() { //INIT #ifdef DEBUG freopen("input.txt", "r", stdin); #endif /////////// int n, q; cin >> n >> q; forn1(i,n) a[i] = 'x'; stack<int> st; st.push(1); int curr = 2; int cnt = 0; while(curr<=n) { if(st.empty()) { st.push(curr); curr++; } int x = st.top(); st.pop(); cout << "? " << x << ' ' << curr << endl; int t; cin >> t; if(t==1) { a[x] = '('; a[curr] = ')'; cnt += 2; } else { st.push(x); st.push(curr); } curr++; } int l = (n-cnt)/2; cout << "! "; forn1(i,n) { if(a[i]=='x') { if (l>0) cout << ')'; else cout << '('; l--; } else cout << a[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...