#include <bits/stdc++.h>
using namespace std;
#define ll long long
//no se como funciona un grader :xd lo corro a mano
vector<vector<int>> devise_strategy(int N){
int e = log2(N);
vector<vector<int>>ans(3*e, vector<int>(N+1,0));
// e - que - 1 = bit a comp
for(int i=0;i<3*e;i++){
int que = i/3;
if(i%3==0){
ans[i][0] = 0;
}else{
ans[i][0] = 1;
}
for(int j = 1; j <= N; j++){
if(i%3==0){
//cual es el bit del i?
ans[i][j] = (i+1) + ((j>>(e-que-1))&1);
}else{
//recibe 1 si era del A 1.
//Recibe 2 si eral del B 1.
//pero ocupo 1 y 0 por lo tanto -1;
int resA = i%3 - 1;
int resB = 0 + ((j>>(e-que-1))&1);
if(resA < resB){
ans[i][j] =-1;
}else if(resA > resB){
ans[i][j] = -2;
}else{
if(que != e-1){
ans[i][j] = (que+1)*3;
}else{
ans[i][j] = 0;
}
}
}
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |