Submission #444012

#TimeUsernameProblemLanguageResultExecution timeMemory
444012JovanBParrots (IOI11_parrots)C++17
81 / 100
5 ms1196 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 pos = 0;
        for(int j=0; j<5; j++){
            pos += ((1 << j) & i);
        }
        pos *= 8;
        for(int j=0; j<8; j++){
            if(!((1 << j) & M[i])) continue;
            send(pos + j);
        }
    }
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>

using namespace std;

int res_array[64];

void decode(int N, int L, int X[]){
    for(int i=0; i<N; i++) res_array[i] = 0;
    for(int i=0; i<L; i++){
        int val = 0;
        for(int j=0; j<3; j++){
            val += ((1 << j) & X[i]);
        }
        val = (1 << val);
        int ind = 0;
        X[i] /= 8;
        for(int j=0; j<5; j++){
            ind += ((1 << j) & X[i]);
        }
        res_array[ind] += val;
    }
    for(int i=0; i<N; i++) output(res_array[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...