# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
475326 | ogibogi2004 | Password (RMI18_password) | C++14 | 0 ms | 0 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 s);
string s1,s2,tmp;
int n1;
string solve(int l,int r)
{
if(l==r)
{
string s="";
for(int j=0;;j++)
{
s+=char('a'+l);
if(query(s)!=s.size())
{
s.pop_back();
return s;
}
}
}
int mid=(l+r)/2;
s1=solve(l,mid);
s2=solve(mid+1,r);
tmp="";
int j=0;
for(int i=0;i<=s1.size();i++)
{
if(j<s2.size())
{
tmp=s1;
tmp.insert(tmp.begin()+i,s2[j]);
if(query(tmp)==tmp.size())
{
s1=tmp;
j++;
}
}
}
while(j<s2.size())s1+=s2[j++];
//if(j<s2.size())assert(false);
//if(s1.size()==n1)assert(false);
return s1;
}
string guess(int n,int s)
{
n1=n;
string f=solve(0,s-1);
if(f.size()!=n)asssert(false);
return f;
}