Submission #642650

#TimeUsernameProblemLanguageResultExecution timeMemory
642650SlavicGPassword (RMI18_password)C++17
50 / 100
869 ms484 KiB
#include "bits/stdc++.h" using namespace std; int query(string str); #define sz(a) (int)a.size() mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); string guess(int n, int s) { vector<pair<int, char>> v; for(int f = 0; f < s; ++f) { char c = char('a' + f); string paiu = string(n, c); int x = query(paiu); if(x > 0) { v.push_back({x, c}); } } assert(v.size() > 0); sort(v.begin(), v.end()); reverse(v.begin(), v.end()); string ans = string(v[0].first, v[0].second); v.erase(v.begin()); assert(sz(ans) > 0); if(!sz(v)) return ans; for(auto noo: v) { char c = noo.second; int cnt = noo.first; vector<int> add(sz(ans) + 5, 0); string ff = ans; string bruh = ""; for(int i = 0; i <= sz(ff); ++i) { int lol = 0; for(int j = 0; j < cnt; ++j) { bruh += c; string paiu = bruh; for(int k = i; k < sz(ff); ++k) paiu += ff[k]; if(query(paiu) == sz(paiu)) { ++lol; } else { bruh.pop_back(); break; } } cnt -= lol; if(i < sz(ff)) bruh += ff[i]; } ans = bruh; } return ans; }
#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...