Submission #795052

#TimeUsernameProblemLanguageResultExecution timeMemory
795052t6twotwoParrots (IOI11_parrots)C++17
17 / 100
4 ms1224 KiB
#include "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>
using namespace std;
void encode(int N, int M[]) {
    int cnt = 0;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < 4; j++) {
            cnt += M[i] >> (6 - 2 * j) & 3;
        }
    }
    int x = 0;
    if (cnt > 6 * N) {
        send(0);
        send(0);
        send(0);
        send(0);
        x = 3;
    }
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < 4; j++) {
            for (int k = 0; k < (x ^ (M[i] >> (6 - 2 * j) & 3)); k++) {
                send(i * 4 + j);
            }
        }
    }
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>
using namespace std;
void decode(int N, int L, int X[]) {
    int f[256]{};
    for (int i = 0; i < L; i++) {
        f[X[i]]++;
    }
    int x = 0;
    if (f[0] > 3) {
        x = 3;
    }
    for (int i = 0; i < N; i++) {
        int a = 0;
        for (int j = 0; j < 4; j++) {
            a *= 4;
            a += f[i * 4 + j] ^ x;
        }
        output(a);
    }
}
#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...