Submission #1267297

#TimeUsernameProblemLanguageResultExecution timeMemory
1267297khaiiZagrade (COI20_zagrade)C++20
0 / 100
0 ms416 KiB
#include <bits/stdc++.h> using namespace std; #define int long long signed main(){ int n, q; cin >> n >> q; // cout << endl; vector<char> ans(n, '.'), pos; int l = 0, r = 0; int res; for(int i = 1; i < n; i++){ cout << "? " << i << " " << i + 1 << endl; cin >> res; if(res){ ans[i - 1] = '('; ans[i] = ')'; pos.push_back(i + 1); l++; r++; } } for(int i: pos){ int a = 1; int l = i - a - 1; int r = i + 1; cout << i << endl; while(0 < l && r <= n){ cout << "? " << l << " " << r << endl; cin >> res; if(!res) break; ans[l - 1] = '('; ans[r - 1] = ')'; l--; r++; } } int ptr = 0; while(ptr < n){ if(ans[ptr] == '.') ans[ptr] = '('; else break; ptr++; } ptr = n - 1; while(0 <= ptr){ if(ans[ptr] == '.') ans[ptr] = ')'; else break; ptr--; } // int ptr = 0; // while(l < n / 2){ // if(ans[ptr] == '.'){ // ans[ptr] = '('; // l++; // } // ptr++; // } // if(ans[ptr] == '.'){ // ans[ptr - 1] = ')'; // ans[ptr] = '('; // } // while(ptr < n){ // if(ans[ptr] == '.') ans[ptr] = ')'; // ptr++; // } cout << "! "; for(char i: ans) cout << i; cout << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...