Submission #1087877

#TimeUsernameProblemLanguageResultExecution timeMemory
1087877ASN49KPassword (RMI18_password)C++14
100 / 100
177 ms1664 KiB
#include <bits/stdc++.h>
using namespace std;
int query(string str);
string divide(int n,int l,int r)
{
    if(l==r)
    {
        return string(query(string(n,char('a'+l))) , char('a'+l));
    }
    int m=(l+r)/2;
    string a=divide(n,l,m),b=divide(n,m+1,r),rez;
    while(a.size() && b.size())
    {
        if(query(rez+a[0]+b)==rez.size()+1+b.size())
        {
            rez.push_back(a[0]);
            a.erase(a.begin());
        }
        else
        {
            rez.push_back(b[0]);
            b.erase(b.begin());
        }
    }
    rez+=a;
    rez+=b;
    return rez;
}
string guess(int n, int s)
{
    return divide(n,0,s-1);
}

Compilation message (stderr)

password.cpp: In function 'std::string divide(int, int, int)':
password.cpp:14:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |         if(query(rez+a[0]+b)==rez.size()+1+b.size())
      |            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#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...