Submission #596545

# Submission time Handle Problem Language Result Execution time Memory
596545 2022-07-14T20:09:43 Z ThegeekKnight16 Brperm (RMI20_brperm) C++14
0 / 100
1334 ms 9396 KB
#include <bits/stdc++.h>
#include <brperm.h>
using namespace std;
const int MAXN = 5e5 + 10;
int Roupas[MAXN], pos[MAXN];
 
int findK(int num)
{
    for (int k = 20; k >= 0; k--) if (num & (1 << k)) return k;
}
 
int inv(int num, int K)
{
    int resp = 0;
    for (int k = K; k >= 0; k--) resp += (num & (1 << k)) ? (1 << (K - k)) : 0;
    return resp;
}
 
int query(int X, int K)
{
    int Y = X + (1 << K) - 1;
    
    int maxK = findK(Y);
    
    for (int i = X; i <= Y; i++) pos[i] = inv(i-X, maxK)+X;
    
    for (int i = X; i <= Y; i++) if (Roupas[i] != Roupas[pos[i]]) {return 0;}
    return 1;
}
 
void init(int N, const char s[])
{
    for (int i = 0; i < N; i++) Roupas[i] = s[i];
    int K = findK(N-1);
    for (int i = 0; i < N; i++) pos[i] = inv(i, K);
}
 
/*int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    init(4, "axxy");
    cout << query(0, 2);
}*/

Compilation message

brperm.cpp: In function 'int findK(int)':
brperm.cpp:10:1: warning: control reaches end of non-void function [-Wreturn-type]
   10 | }
      | ^
# Verdict Execution time Memory Grader output
1 Incorrect 1334 ms 2372 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1334 ms 2372 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 31 ms 9396 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1334 ms 2372 KB Output isn't correct
2 Halted 0 ms 0 KB -