Submission #601393

#TimeUsernameProblemLanguageResultExecution timeMemory
601393vh50Parrots (IOI11_parrots)C++17
0 / 100
1 ms1044 KiB
#include <bits/stdc++.h>
#include "encoder.h"
#include "encoderlib.h"
using namespace std;
void encode(int N, int M[])
{
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < 4; j++)
        {
            int aux;
            aux = (i << 4) + (j << 2);
            aux += (M[i] & (3 << (2 * j))) >> (2 * j); 
            send(aux);
            if(i > 15) send(aux);
        }
    }
}
#include <bits/stdc++.h>
#include "decoder.h"
#include "decoderlib.h"
using namespace std;
void decode(int N, int L, int X[])
{
    int marc[300];
    for(int i = 0; i < L; i++)  marc[X[i]]++;
    sort(X, X + L);
    for(int i = 0; i < L; i += 4)
    {
        int aux = 0, c = 0;
        for(int j = 0; j < 4; j++)
        {
            if(marc[X[i + j]] == 2) {c++;continue;}
            if(X[i + j] & 1)    aux += (1 << (2 * j)); 
            if(X[i + j] & 2)    aux += (1 << (2 * j + 1));
        }   
        if(!c) output(aux); 
    }
    for(int i = 0; i < L; i += 4)
    {
        int aux = 0, c = 0;
        for(int j = 0; j < 4; j++)
        {
            if(marc[X[i + j]] == 1) {c++;continue;}
            if(X[i + j] & 1)    aux += (1 << (2 * j)); 
            if(X[i + j] & 2)    aux += (1 << (2 * j + 1));
        }    
        if(!c) output(aux);
    }
    
}
#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...