#include "Anna.h"
#include <utility>
#include <vector>
#include <bits/stdc++.h>
using namespace std;
namespace Anna_solver{
const int M=200;
int Declare(){
return M;
}
mt19937 rng(69420);
pair<vector<int>, vector<int>> Anna(long long A){
long long val=uniform_int_distribution<long long>(0, (1ll<<60)-1)(rng);
// long long val=0;
A^=val;
vector<int> v;
for (int i=0; i<60; ++i){
v.push_back(i&1);
v.push_back(i&1);
if (A>>i&1){
v.push_back(i&1);
v.push_back(i&1);
}
}
vector<int> vv;
for (int i=0; i<(int)v.size(); ++i) vv.push_back(i&1);
return {v, vv};
}
}
int Declare() {
return Anna_solver::Declare();
}
std::pair<std::vector<int>, std::vector<int> > Anna(long long A) {
return Anna_solver::Anna(A);
}
#include "Bruno.h"
#include <utility>
#include <vector>
#include <bits/stdc++.h>
using namespace std;
namespace Bruno_solver{
const int M=200;
mt19937 rng(69420);
long long f[M*2+10][61][M+10][2][6];
int n;
void transition(long long &x, long long y){
// assert(x==-1 || x==y);
x=y;
}
long long Bruno(vector<int> v){
n=v.size();
long long val=uniform_int_distribution<long long>(0, (1ll<<60)-1)(rng);
// long long val=0;
long long ans=0;
memset(f, -1, sizeof f);
f[0][0][0][0][0]=0;
for (int i=0; i<n; ++i){
for (int b=0; b<=60; ++b){
for (int c=0; c<=n/2; ++c){
for (int k=0; k<2; ++k) for (int l=0; l<6; ++l) if (f[i][b][c][k][l]!=-1){
if (c<n/2 && v[i]==(c&1)){
transition(f[i+1][b][c+1][k][l], f[i][b][c][k][l]);
}
if (v[i]==k && l<5){
transition(f[i+1][b][c][k][l+1], f[i][b][c][k][l]);
if (l&1 && b<60){
transition(f[i+1][b+1][c][k^1][0], f[i][b][c][k][l]|(l==3?1ll<<b:0ll));
}
}
}
}
}
}
ans=f[n][60][n/2][0][0];
assert(ans!=-1);
return ans^val;
}
}
long long Bruno(std::vector<int> u) {
return Bruno_solver::Bruno(u);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |