Submission #464088

#TimeUsernameProblemLanguageResultExecution timeMemory
464088MamedovPassword (RMI18_password)C++17
30 / 100
519 ms540 KiB
#pragma GCC optimize("Ofast") #include <bits/stdc++.h> #define ll long long #define ui unsigned int #define pii pair<int, int> #define piii pair<int, pii> #define pb push_back #define f first #define s second #define oo (1ll << 60) using namespace std; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int query(string str); string guess(int n, int s) { string str; vector<int>countLetter(s); int maxLetter = 0; for(int i = 0; i < s; ++i) { str = ""; for(int j = 0; j < n; ++j) { str += ('a' + i); } countLetter[i] = query(str); if(countLetter[i] > countLetter[maxLetter]) { maxLetter = i; } } vector<int>pos; str = ""; for(int i = 0; i < countLetter[maxLetter]; ++i) { str += ('a' + maxLetter); pos.pb(i); } pos.pb(str.length()); for(int i = 0; i < s; ++i) { if(i == maxLetter) continue; for(int j = 0; j < countLetter[i]; ++j) { shuffle(pos.begin(), pos.end(), rng); for(int k = 0; k <= str.length(); ++k) { str.insert(str.begin() + pos[k], 'a' + i); if(query(str) == str.length()) { pos.pb(str.length()); break; } str.erase(str.begin() + pos[k]); } } } return str; }

Compilation message (stderr)

password.cpp: In function 'std::string guess(int, int)':
password.cpp:46:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |             for(int k = 0; k <= str.length(); ++k) {
      |                            ~~^~~~~~~~~~~~~~~
password.cpp:48:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |                 if(query(str) == str.length()) {
      |                    ~~~~~~~~~~~^~~~~~~~~~~~~~~
#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...