Submission #251436

#TimeUsernameProblemLanguageResultExecution timeMemory
251436lycPassword (RMI18_password)C++14
100 / 100
317 ms688 KiB
#include <bits/stdc++.h> using namespace std; #define TRACE(x) cerr << #x << " :: "; #define _ << " " << #define FOR(i,a,b) for(int i=(a);i<=(b);++i) #define RFOR(i,a,b) for(int i=(a);i>=(b);--i) #define SZ(x) ((int)(x).size()) int query(string Q); string solve(vector<string>& vec, int l, int r) { if (l == r) return vec[l]; int m = (l+r)>>1; string x = solve(vec,l,m), y = solve(vec,m+1,r); string S = ""; int i, j; for (i = 0, j = 0; i < SZ(x) && j < SZ(y);) { string T = S + y[j] + x.substr(i); int q = query(T); if (q == SZ(T)) S += y[j++]; else S += x[i++]; } if (i < SZ(x)) S += x.substr(i); if (j < SZ(y)) S += y.substr(j); return S; } string guess(int N, int S) { vector<string> vec; FOR(i,0,S-1){ string s(N,'a'+i); int freq = query(s); vec.push_back(string(freq,'a'+i)); } return solve(vec,0,SZ(vec)-1); }
#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...