답안 #773138

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
773138 2023-07-04T15:42:24 Z TheSahib Password (RMI18_password) C++14
0 / 100
137 ms 440 KB
#include <bits/stdc++.h>

#define ll long long
#define pii pair<int, int>

using namespace std;

int cnt[30];

int query(string s);

string guess(int n, int s){
    for (int c = 'a'; c < 'a' + s; c++)
    {
        string a;
        for (int i = 0; i < n; i++)
        {
            a += c;
        }
        int b = query(a);
        cnt[c - 'a'] = b;
    }
    string ans;
    char c = 'a';
    for (int i = 0; i < 26; i++)
    {
        if(cnt[c - 'a'] == 0) continue;
        while(cnt[c - 'a']--){
            ans += c;
        }
        break;
    }
    
    for(; c < 'a' + s; c++){
        while(cnt[c - 'a']--){
            int l = 0, r = ans.size() - 1;
            int a = 0;
            while(l <= r){
                int mid = (l + r) / 2;
                string slice;
                for(int i = 0; i <= mid; i++){
                    slice += ans[i];
                }
                slice += c;
                int b = query(slice);
                if(b == slice.size()){
                    l = mid + 1;
                    a = mid;
                }
                else{
                    r = mid - 1;
                }
            }
            ans.insert(ans.begin() + a, c);
        }
    }
    return ans;
}

Compilation message

password.cpp: In function 'std::string guess(int, int)':
password.cpp:46:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |                 if(b == slice.size()){
      |                    ~~^~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 208 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 4 ms 208 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 137 ms 440 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 208 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 208 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -