Submission #565095

#TimeUsernameProblemLanguageResultExecution timeMemory
565095KeshiZagrade (COI20_zagrade)C++17
100 / 100
753 ms1124 KiB
//In the name of God #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const ll maxn = 2e5 + 100; const ll mod = 1e9 + 7; const ll inf = 1e18; #define fast_io ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define file_io freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout); #define pb push_back #define Mp make_pair #define F first #define S second #define Sz(x) int((x).size()) #define all(x) (x).begin(), (x).end() ll pw(ll a, ll b){ ll c = 1; while(b){ if(b & 1) c = c * a % mod; a = a * a % mod; b >>= 1; } return c; } int n, q, a[maxn]; vector<int> vec; int main(){ fast_io; cin >> n >> q; for(int i = 1; i <= n; i++){ if(vec.empty()){ vec.pb(i); continue; } cout << "? " << vec.back() << " " << i << "\n"; cout.flush(); char c; cin >> c; if(c == '0') vec.pb(i); else{ a[i] = 1; vec.pop_back(); } } for(int i = 0; i < Sz(vec) / 2; i++){ a[vec[i]] = 1; } cout << "! "; for(int i = 1; i <= n; i++){ if(a[i]) cout << ')'; else cout << '('; } cout << "\n"; cout.flush(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...