Submission #901797

#TimeUsernameProblemLanguageResultExecution timeMemory
901797omsincoconutPassword (RMI18_password)C++17
10 / 100
343 ms944 KiB
#include <bits/stdc++.h> using namespace std; int query(string str); inline void pushstr(string &q, string &s, int l, int r) { for (int i = l; i <= r; i++) q.push_back(s[i]); } inline void pushstr(string &q, char c, int n) { for (int i = 0; i < n; i++) q.push_back(c); } string guess(int n, int s) { string ret; int ct[s]; for (char c = 'a'; c < 'a'+s; c++) { string q; pushstr(q, c, n); ct[c-'a'] = query(q); } for (char c = 'a'; c < 'a'+s; c++) { for (int i = 0; i <= ret.size(); i++) { int l = 0, r = ct[c-'a']+1; while (r-l > 1) { int mid = (l+r)/2; string q; pushstr(q, ret, 0, i-1); pushstr(q, c, mid); pushstr(q, ret, i, ret.size()-1); if (query(q) == q.size()) l = mid; else r = mid; } string nret; pushstr(nret, ret, 0, i-1); pushstr(nret, c, l); pushstr(nret, ret, i, ret.size()-1); ret = nret; ct[c-'a'] -= l; } } return ret; };

Compilation message (stderr)

password.cpp: In function 'std::string guess(int, int)':
password.cpp:24:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |         for (int i = 0; i <= ret.size(); i++) {
      |                         ~~^~~~~~~~~~~~~
password.cpp:32:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |                 if (query(q) == q.size()) l = mid;
      |                     ~~~~~~~~~^~~~~~~~~~~
#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...