Submission #1181542

#TimeUsernameProblemLanguageResultExecution timeMemory
1181542SofiatpcParrots (IOI11_parrots)C++20
23 / 100
8 ms840 KiB
#include "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>

using namespace std;

int ativo(int x, int p){
  if(x & (1<<p))return 1;
  return 0;
}

void encode(int n, int m[])
{
  for(int p = 0; p < 8; p++){
    int g = 0;
    for(int i = 0; i < n; i+=2){
      int x = (ativo(m[i], p)<<1);
      if(i+1 < n)x += ativo(m[i+1], p);

      int v = (p<<5) + g;
      for(int j = 0; j < x; j++)send(v);
      g++;
    }
  }
  
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>

using namespace std;

static int v[70];
static map<int,int> freq;

void decode(int n, int l, int x[])
{
  for(int i = 0; i < n; i++)v[i] = 0;
  freq.clear();

  for(int i = 0; i < l; i++)freq[x[i]]++;


  for(int i = 0; i < l; i++){
    if(freq[x[i]] == 0)continue;
    int f = freq[x[i]]; freq[x[i]] = 0;

    int g = x[i]%32; x[i]/=32;
    int p = x[i];

    if(f & 2)v[g*2] += (1<<p);
    if(f & 1)v[g*2+1] += (1<<p);
  }

  for(int i = 0; i < n; i++)output(v[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...