Submission #1151051

#TimeUsernameProblemLanguageResultExecution timeMemory
1151051hijackedsoulZagrade (COI20_zagrade)C++20
0 / 100
0 ms416 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
	int n, q;
	std::cin >> n >> q;
	std::vector <char> arr(n+1);
	int l=1, r=n;
	while(true){
		int valid;
		bool special=false, done=false;
		
		if(l==r){
			special=true;
			l--;
		}
		std::cout << "? " << l << " " << r << "\n";
		cout.flush();
		std::cin >> valid;
		
		if(special){
			if(arr[l]=='(' && valid) arr[r]=')';
			else if(arr[l]=='(' && !valid) arr[r]='(';
			else if(arr[l]==')' && !valid) arr[r]='(';
			l++, r--;
		}
		else if(valid){
			arr[l]='(';
			arr[r]=')';
			l++, r--;
		} 
		else{
			arr[r]='(';
			r--;
		}
		
		if(r<l) {
			std::cout << "! ";
			for(auto v:arr) std::cout << v;
			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...