이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;
int lg = 60, k = 18;
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(889275928);
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 = 18;
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(889275928);
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;
}
컴파일 시 표준 에러 (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... |