제출 #1295479

#제출 시각아이디문제언어결과실행 시간메모리
1295479jahongirPassword (RMI18_password)C++20
100 / 100
77 ms488 KiB
#include <bits/stdc++.h> using namespace std; int query(string s); string guess(int n, int s){ vector<string> res(s); vector<int> val(s); priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>> pq; for(int i = 0; i < s; i++){ val[i] = query(string(n,char(i+'a'))); if(val[i]){ res[i] = string(val[i],char(i+'a')); pq.push({val[i],i}); } } while(pq.size() > 1){ auto [l1,i] = pq.top(); pq.pop(); auto [l2,j] = pq.top(); pq.pop(); string tmp = res[j]; for(int k = 0, cur = 0; k < l1; k++, cur++){ tmp.insert(tmp.begin()+cur,res[i][k]); while(query(tmp)!=l2+k+1){ swap(tmp[cur],tmp[cur+1]); cur++; } } res[i] = tmp; val[i] = l1+l2; pq.push({l1+l2,i}); } auto [u,v] = pq.top(); return res[v]; }
#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...