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 "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>
using namespace std;
void encode(int N, int M[]){
vector<int> res;
if(N<=32){
for(int i=0; i<N; i++){
for(int j=0;j<8;j++){
if((M[i]>>j)&1){
res.push_back(8*i+j);
}
}
}
}
else{
for(int i=0; i<N; i++){
for(int j=0; j<4; j++){
int thebits=(M[i]>>(2*j))%4;
for(int k=0; k<thebits; k++){
res.push_back(4*i+j);
}
}
}
}
for(int num:res) send(num);
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>
using namespace std;
void decode(int N, int L, int X[]){
vector<int> res(N,0);
if(N<=32){
for(int i=0; i<L; i++){
res[X[i]/8]+=(1<<(X[i]%8));
}
}
else{
for(int i=0; i<L; i++){
res[X[i]/4]+=(1<<(2*(X[i]%4)));
}
}
for(int num:res) output(num);
}
# | 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... |