Submission #827242

#TimeUsernameProblemLanguageResultExecution timeMemory
827242rainboyBrperm (RMI20_brperm)C11
0 / 100
3 ms2260 KiB
#include "brperm.h"
#include <stdlib.h>
#include <assert.h>

#define N	500000

char cc[N + 1]; int n;

void init(int n, const char *cc_) {
	int i;

	for (i = 0; i < n; i++)
		cc[i] = cc_[i];
}

int query(int i_, int k) {
	int n_, m, i, j;

	n_ = k;
	if (i_ + n_ > n)
		assert(0);
	for (i = 0, j = 1; j < n_; j++) {
		for (m = n_ >> 1; ((i ^= m) & m) == 0; m >>= 1)
			;
		if (cc[i_ + i] != cc[i_ + j])
			return 0;
	}
	return 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...