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"
void encode(int n, int m[]) {
for (int i = 0; i < n; i++) {
send((i << 4) | 0 | ((m[i] >> 0) & 3));
send((i << 4) | 4 | ((m[i] >> 2) & 3));
send((i << 4) | 8 | ((m[i] >> 4) & 3));
send((i << 4) | 12 | ((m[i] >> 6) & 3));
}
}
/**
* IIIIPPVV
* I - index
* P - part
* V - value
**/
#include "decoder.h"
#include "decoderlib.h"
#include <vector>
void decode(int n, int l, int x[]) {
std::vector <int> m(n, 0);
for (int i = 0; i < l; i++) {
switch (x[i] & 12) {
case 0: m[x[i] >> 4] |= (x[i] & 3) << 0; break;
case 4: m[x[i] >> 4] |= (x[i] & 3) << 2; break;
case 8: m[x[i] >> 4] |= (x[i] & 3) << 4; break;
case 12: m[x[i] >> 4] |= (x[i] & 3) << 6; break;
}
}
for (int &i : m) {
output(i);
}
}
/**
* IIIIPPVV
* I - index
* P - part
* V - value
**/
# | 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... |