Submission #1315765

#TimeUsernameProblemLanguageResultExecution timeMemory
1315765vlomaczkPassword (RMI18_password)C++20
100 / 100
173 ms556 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> typedef long long ll; using namespace __gnu_pbds; using namespace std; template <typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; int query(string str); int N; void cut_first(string &s) { reverse(s.begin(), s.end()); s.pop_back(); reverse(s.begin(), s.end()); } string Merge(string s1, string s2) { // Not mine just for testing what part is wrong string cur=s1; int idx=0; for(char x:s2){ while(true){ string nwcur=""; for(int k=0; k<idx; k++)nwcur+=cur[k]; nwcur+=x; for(int k=idx; k<(int)cur.size(); k++)nwcur+=cur[k]; if(query(nwcur)==nwcur.size()){ cur=nwcur; idx++; break; }else idx++; } } return cur; } string MergeSort(vector<string> t) { if(t.size()==0) return ""; if(t.size()==1) return t[0]; vector<string> t1, t2; int n =t.size(); for(int i=0; i<n/2; ++i) t1.push_back(t[i]); for(int i=n/2; i<n; ++i) t2.push_back(t[i]); return Merge(MergeSort(t1),MergeSort(t2)); } string pwt(char c, int x) { string s = ""; for(int i=0; i<x; ++i) s.push_back(c); return s; } string guess(int n, int S) { N=n; string alph = "abcdefghijklmnopqrstuvwxyz"; vector<string> tab; for(int i=0; i<S; ++i) { tab.push_back(pwt(alph[i], query(pwt(alph[i],n)))); } return MergeSort(tab); }
#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...