이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
//~ #include "grader.cpp"
using namespace std;
int query(string s);
string guess(int n, int c){
vector <int> f(c);
for(char i = 'a' ; i < 'a' + c ; i++){
f[i - 'a'] = query(string(n, i));
}
string ans;
for(char i = 'a' ; i < 'a' + c ; i++){
string cur = ans;
int e = ans.size();
for(int j = 0 ; j < f[i - 'a'] ; j++){
while(e >= 15 && query(ans.substr(0, e - 15) + string(j + 1, i)) != e - 15 + j + 1){
e -= 16;
}
int l = max(0, e - 15), r = e;
while(l <= r){
int mid = (l + r) / 2;
if(query(ans.substr(0, mid) + string(j + 1, i)) == mid + j + 1) l = mid + 1;
else r = mid - 1;
}
cur.insert(cur.begin() + r, i);
}
ans = cur;
}
return ans;
}
# | 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... |