#include "encoder.h"
#include "encoderlib.h"
void encode(int N, int M[])
{
int sum = 0;
int cat = 0;
int a = 0;
for(int i=0; i<N; i++){
cat = 0;
a = M[i];
while(a){
if(a%2){
send(i*8+cat);
//printf("%d ",i*8+cat);
}
a/=2;
++cat;
}
}
//printf("\n");
}
#include "decoder.h"
#include "decoderlib.h"
#include <algorithm>
int exo[] = {1, 2, 4, 8, 16, 32, 64, 128};
void decode(int N, int L, int X[])
{
std::sort(X, X+L);
int got = 8;
int sum = 0;
int cat = 0;
for(int i=0; i<L; i++) {
//printf("%d %d %d\n", sum, X[i], got);
while(X[i]>=got){
//printf("%d*\n", sum);
output(sum);
sum =0;
++cat;
got+=8;
}
sum+=exo[X[i]-got+8];
}
if(cat<N){
//printf("%d\n", sum);
output(sum);
}
//printf("\n");
}
# | 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... |