Submission #773124

# Submission time Handle Problem Language Result Execution time Memory
773124 2023-07-04T15:32:54 Z TheSahib Password (RMI18_password) C++14
Compilation error
0 ms 0 KB
#include "grader.cpp"
#include <bits/stdc++.h>

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

using namespace std;

int cnt[30];

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;
    for(cnt[0]--){
        ans += 'a';
    }
    for(int c = 'b'; c < 'a' + s; c++){
        while(cnt[c - 'a']--){
            int l = 0, r = ans.size();
            int a = 0;
            while(l <= r){
                int mid = (l + r) / 2;
                string slice;
                for(int i = l; 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:23:17: error: expected ';' before ')' token
   23 |     for(cnt[0]--){
      |                 ^
      |                 ;
password.cpp:26:5: error: expected primary-expression before 'for'
   26 |     for(int c = 'b'; c < 'a' + s; c++){
      |     ^~~
password.cpp:25:6: error: expected ';' before 'for'
   25 |     }
      |      ^
      |      ;
   26 |     for(int c = 'b'; c < 'a' + s; c++){
      |     ~~~
password.cpp:26:5: error: expected primary-expression before 'for'
   26 |     for(int c = 'b'; c < 'a' + s; c++){
      |     ^~~
password.cpp:25:6: error: expected ')' before 'for'
   25 |     }
      |      ^
      |      )
   26 |     for(int c = 'b'; c < 'a' + s; c++){
      |     ~~~
password.cpp:23:8: note: to match this '('
   23 |     for(cnt[0]--){
      |        ^
password.cpp:38:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |                 if(b == slice.size()){
      |                    ~~^~~~~~~~~~~~~~~