Submission #1261900

#TimeUsernameProblemLanguageResultExecution timeMemory
1261900kawhietParrots (IOI11_parrots)C++20
52 / 100
3 ms840 KiB
#include "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>
using namespace std;

void encode(int N, int A[]) {
  for (int i = 0; i < 8; i++) {
    int val = 0;
    for (int j = 0; j < 3; j++) {
      if (i & (1 << j)) {
        val += (1 << j);
      }
    }
    for (int j = 0; j < N; j++) {
      int cur = val;
      for (int k = 0; k < 4; k++) {
        if (j & (1 << k)) {
          cur += (1 << (k + 3));
        }
      }
      if (A[j] & (1 << i)) {
        cur += (1 << 7);
      }
      send(cur);
    }
  }
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>
using namespace std;

void decode(int N, int M, int X[]) {
  vector<int> val(N);
  for (int i = 0; i < M; i++) {
    int k = 0;
    for (int j = 0; j < 3; j++) {
      if (X[i] & (1 << j)) {
        k += (1 << j);
      }
    }
    int id = 0;
    for (int j = 3; j < 7; j++) {
      if (X[i] & (1 << j)) {
        id += (1 << (j - 3));
      }
    }
    if (X[i] & (1 << 7)) {
      val[id] += (1 << k);
    }
  }
  for (int i = 0; i < N; i++) {
    output(val[i]);
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...