Submission #1140439

#TimeUsernameProblemLanguageResultExecution timeMemory
1140439hyl_kibou앵무새 (IOI11_parrots)C++17
0 / 100
1 ms836 KiB
#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 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...