제출 #1315629

#제출 시각아이디문제언어결과실행 시간메모리
1315629vlomaczkPassword (RMI18_password)C++20
30 / 100
241 ms516 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
typedef long long ll;
using namespace __gnu_pbds;
using namespace std;

template <typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

int query(string str);
int N;

int getQ(string s) {
	if(s.size() > N) return N+20;
	return query(s);
}

string guess(int n, int S) {
	N=n;
	string alph = "abcdefghijklmnopqrstuvwxyz";
	string res = "", stos="";
	for(int i=res.size(); i>=0; --i) {
		int failed=0;
		for(int lit=0; lit<S; ++lit) {
			string old_res = res;
			stos = "";
			for(int x=res.size()-1; x>=i; --x) {
				stos.push_back(res[x]);
				res.pop_back();
			}
			reverse(stos.begin(), stos.end());
			res.push_back(alph[lit]);
			res += stos;
			if(getQ(res)!=res.size()) {
				res = old_res;
				failed++;
			} else i++;
		}
		if(failed < S) ++i;
	}
	return res;
}
#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...