Submission #773140

#TimeUsernameProblemLanguageResultExecution timeMemory
773140TheSahibPassword (RMI18_password)C++14
0 / 100
99 ms316 KiB
#include <bits/stdc++.h> #define ll long long #define pii pair<int, int> using namespace std; int cnt[30]; int query(string s); string guess(int n, int s){ for (int c = 'a'; c < 'a' + s; c++) { string a; for (int i = 0; i < n; i++) { a += c; } int b = query(a); cnt[c - 'a'] = b; } string ans; char c = 'a'; for (; c < 'a' + s; c++) { if(cnt[c - 'a'] == 0) continue; while(cnt[c - 'a']--){ ans += c; } break; } for(; c < 'a' + s; c++){ while(cnt[c - 'a']--){ int l = 0, r = ans.size() - 1; int a = 0; while(l <= r){ int mid = (l + r) / 2; string slice; for(int i = 0; i <= mid; i++){ slice += ans[i]; } slice += c; int b = query(slice); if(b == slice.size()){ l = mid + 1; a = mid; } else{ r = mid - 1; } } ans.insert(ans.begin() + a, c); } } return ans; }

Compilation message (stderr)

password.cpp: In function 'std::string guess(int, int)':
password.cpp:46:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |                 if(b == slice.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...