Submission #997260

#TimeUsernameProblemLanguageResultExecution timeMemory
997260MarwenElarbiPassword (RMI18_password)C++17
100 / 100
310 ms1236 KiB
#include <bits/stdc++.h> #include <stdlib.h> #include <assert.h> using namespace std; #define fi first #define se second #define ll long long #define pb push_back #define ii pair<int,int> const int nax=2e5+5; vector<string> check(26); int query(string q); string daq(int l,int r){ if(l==r) return check[l]; int mid=(r+l)/2; string a=daq(l,mid); string b=daq(mid+1,r); string ans=""; int t=0; for (int i = 0; i < a.size(); ++i) { while(t<b.size()){ string cur=""; for (int j = 0; j < ans.size(); ++j) { cur.pb(ans[j]); } cur.pb(b[t]); for (int j = i; j < a.size(); ++j) { cur.pb(a[j]); } int x=query(cur); if(x==cur.size()){ ans.pb(b[t]); t++; }else break; } ans.pb(a[i]); } while(t<b.size()) ans.pb(b[t++]); //cout <<l<<" "<<r<<" "<<ans<<endl; return ans; } string guess(int n, int s){ int tab[s]; for (int i = 0; i < s; ++i) { string cur=""; for (int j = 0; j < n; ++j) { cur.pb(char('a'+i)); } tab[i]=query(cur); } for (int i = 0; i < s; ++i) { for (int j = 0; j < tab[i]; ++j) { check[i].pb(char('a'+i)); } } return daq(0,s-1); }

Compilation message (stderr)

password.cpp: In function 'std::string daq(int, int)':
password.cpp:20:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     for (int i = 0; i < a.size(); ++i)
      |                     ~~^~~~~~~~~~
password.cpp:22:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |         while(t<b.size()){
      |               ~^~~~~~~~~
password.cpp:24:31: 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 j = 0; j < ans.size(); ++j)
      |                             ~~^~~~~~~~~~~~
password.cpp:29:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |             for (int j = i; j < a.size(); ++j)
      |                             ~~^~~~~~~~~~
password.cpp:34:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |             if(x==cur.size()){
      |                ~^~~~~~~~~~~~
password.cpp:41:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |     while(t<b.size()) ans.pb(b[t++]);
      |           ~^~~~~~~~~
#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...