Submission #1295466

#TimeUsernameProblemLanguageResultExecution timeMemory
1295466jahongirPassword (RMI18_password)C++20
80 / 100
157 ms448 KiB
#include <bits/stdc++.h>
using namespace std;


int query(string s);

string guess(int n, int s){
	string tmp = "";

		
	vector<int> val(s,0), vec;

	for(int i = 0; i < s; i++){
		tmp = string(n,char(i+'a'));
		val[i] = query(tmp);
		if(val[i]) vec.push_back(i);
	}
	tmp = "";

	sort(vec.begin(),vec.end(),[&](const int &a, const int &b)->bool{
		return val[a] < val[b];
	});


	for(auto i : vec){
		int m = tmp.size();
		for(int j = 0; j < m;){
			while(true){
				tmp.insert(tmp.begin()+j,char(i+'a'));
				j++; m++;
				if(m!=query(tmp)) break;
				if(m==n) return tmp;
			}
			j--,m--;
			tmp.erase(tmp.begin()+j);
			j++;
		}
		while(true){
			tmp += char(i+'a');
			m++;
			if(m!=query(tmp)) break;
			if(m==n) return tmp;
		}
		m--; tmp.pop_back();
	}
	return tmp;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...