제출 #199657

#제출 시각아이디문제언어결과실행 시간메모리
199657mohammedehab2002Password (RMI18_password)C++14
100 / 100
436 ms780 KiB
#include <bits/stdc++.h> using namespace std; int f[26]; int query(string s); string guess(int n,int c) { for (char a='a';a<'a'+c;a++) f[a-'a']=query(string(n,a)); string ans=""; for (char a='a';a<'a'+c;a++) { int p=ans.size(); string tmp=ans; for (int i=0;i<f[a-'a'];i++) { while (p>=31 && query(ans.substr(0,p-31)+string(i+1,a))<=p-31+i) p-=32; int st=max(p-31,0),en=p; while (st!=en) { int mid=(st+en+1)/2; if (query(ans.substr(0,mid)+string(i+1,a))>mid+i) st=mid; else en=mid-1; } tmp.insert(tmp.begin()+st,a); p=st; } ans=tmp; } return ans; }
#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...