Submission #494369

#TimeUsernameProblemLanguageResultExecution timeMemory
494369jasen_penchevBrperm (RMI20_brperm)C++14
50 / 100
3045 ms2668 KiB
#include "brperm.h"
#include <iostream>
#include <string>
#define endl '\n'
using namespace std;

string str = "";

void init(int n, const char s[])
{
    for (int i = 0; i < n; ++ i)
    {
        str += s[i];
    }
    return;
}

int query(int pos, int k)
{
    if (pos + (1ll << k) > str.size()) return 0;

    for (int i = 0; i < (1ll << k); ++ i)
    {
        int idx = 0;
        for (int j = 0; j < k; ++ j)
        {
            if ((i & (1ll << j))) idx += (1ll << (k - j - 1));
        }

        if (str[pos + i] != str[pos + idx]) return 0;
    }

    return 1;
}

Compilation message (stderr)

brperm.cpp: In function 'int query(int, int)':
brperm.cpp:20:26: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     if (pos + (1ll << k) > str.size()) return 0;
      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...