# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
642883 | SlavicG | Password (RMI18_password) | C++17 | 364 ms | 432 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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());
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;
string ff = ans;
string bruh = "";
for(int i = 0; i <= sz(ff); ++i) {
int lol = 0, l = 1, r = cnt;
string rem = bruh;
if(cnt >= 5) {
int mid = 5;
bruh = rem;
for(int j = 0; j < mid; ++j) bruh += c;
for(int k = i; k < sz(ff); ++k) {
bruh += ff[k];
}
if(query(bruh) == sz(bruh)) {
lol = mid;
l = mid + 1;
} else r = mid - 1;
}
while(l <= r) {
int mid = l + r >> 1;
bruh = rem;
for(int j = 0; j < mid; ++j) bruh += c;
for(int k = i; k < sz(ff); ++k) {
bruh += ff[k];
}
if(query(bruh) == sz(bruh)) {
lol = mid;
l = mid + 1;
} else r = mid - 1;
}
cnt -= lol;
bruh = rem;
for(int j = 0; j < lol; ++j) bruh += c;
if(i < sz(ff)) bruh += ff[i];
}
ans = bruh;
}
return ans;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |