This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;
int lg = 60, k = 21;
int Declare() {
return lg * (k + 1);
}
pair<vector<int>, vector<int>> Anna(long long x) {
vector<int> a, b;
a.push_back(1);
vector<int> p(lg);
for(int i = 0; i < lg; i++) {
p[i] = i;
}
mt19937 rng(59493542);
shuffle(p.begin(), p.end(), rng);
for(int i : p) {
int t = ((x >> i) & 1);
for(int j = 0; j < k; j++){
a.push_back(t);
}
a.push_back(1);
}
a.pop_back();
while(b.size() < a.size()) {
b.push_back(0);
}
return {a, b};
}
#include "Bruno.h"
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int tk = 21;
long long Bruno(vector<int> u) {
int n = (int) u.size();
ll ans = 0, b = 0;
vector<int> p(60);
for(int i = 0; i < 60; i++) {
p[i] = i;
}
mt19937 rng(59493542);
shuffle(p.begin(), p.end(), rng);
for(int i = 0; i + 1 < (int)u.size(); i++) {
if(u[i] == 0) {
continue;
}
int fg = 0;
for(int j = i + 1; j <= i + tk; j++) {
fg |= u[j];
}
if(fg) {
ans |= (1ll << p[b]);
int cnt = 0, j = i;
while(cnt < tk) {
j++;
cnt += u[j];
}
i = j;
}
b++;
}
return ans;
}
Compilation message (stderr)
Bruno.cpp: In function 'long long int Bruno(std::vector<int>)':
Bruno.cpp:10:9: warning: unused variable 'n' [-Wunused-variable]
10 | int n = (int) u.size();
| ^
# | 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... |