Submission #933796

#TimeUsernameProblemLanguageResultExecution timeMemory
933796AtabayRajabliParrots (IOI11_parrots)C++17
81 / 100
3 ms1568 KiB
#include "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>

using namespace std;

void encode(int N, int M[])
{
  for(int i = 0; i < N; i++)
  {
    int msg = 0;
    for(int j = 4; j >= 0; j--)
    {
      if((1 << j) & i)msg += (1 << (j + 3));
    }
    for(int j = 7; j >= 0; j--)
    {
      int msg2 = msg;
      if((1 << j) & M[i])
      {
        for(int k = 2; k >= 0; k--)
        {
          if(j & (1 << k))msg2 += (1 << k);
        }
        send(msg2);
      }
    }
    
  }
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>

using namespace std;

void decode(int N, int L, int X[])
{
  vector<int> ans(N, 0);
  for(int i = 0; i < L; i++)
  {
    int ind = 0;
    for(int j = 7; j >= 3; j--)
    {
      if((1 << j) & X[i])ind += (1 << (j - 3));
    }
    int y = 0;
    for(int j = 2; j >= 0; j--)
    {
      y += ((1 << j) & X[i]);
    }
    ans[ind] += (1 << y);
  }
  for(int i = 0; i < N; i++)output(ans[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...