Submission #918145

#TimeUsernameProblemLanguageResultExecution timeMemory
918145vjudge1Password (RMI18_password)C++17
100 / 100
138 ms1604 KiB
#include <bits/stdc++.h> // author: aykhn using namespace std; typedef long long ll; #define pb push_back #define ins insert #define mpr make_pair int cnt[30]; priority_queue<pair<int, string>, vector<pair<int, string>>, greater<pair<int, string>>> pq; int query(string str); void MERGE(string &a, string &b) { int prev = query(b); int i = 0; for (int j = 0; j <= b.length() && i < a.length(); j++) { string tmp = b; b.ins(b.begin() + j, a[i]); int x = query(b); if (x <= prev) b = tmp; else prev = x, i++; } } string guess(int n, int s) { string tmp = ""; for (int i = 0; i < n; i++) { tmp.pb('a'); } int prev = 0; for (int i = 0; i < s; i++) { cnt[i] = query(tmp); pq.push(mpr(cnt[i], tmp.substr(0, cnt[i]))); for (int j = 0; j < n; j++) tmp[j]++; } while (pq.size() > 1) { string A = pq.top().second; pq.pop(); string B = pq.top().second; pq.pop(); MERGE(A, B); pq.push(mpr(B.length(), B)); } return pq.top().second; }

Compilation message (stderr)

password.cpp: In function 'void MERGE(std::string&, std::string&)':
password.cpp:23:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |     for (int j = 0; j <= b.length() && i < a.length(); j++)
      |                     ~~^~~~~~~~~~~~~
password.cpp:23:42: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |     for (int j = 0; j <= b.length() && i < a.length(); j++)
      |                                        ~~^~~~~~~~~~~~
password.cpp: In function 'std::string guess(int, int)':
password.cpp:40:9: warning: unused variable 'prev' [-Wunused-variable]
   40 |     int prev = 0;
      |         ^~~~
#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...