Submission #61774

#TimeUsernameProblemLanguageResultExecution timeMemory
61774VahanParrots (IOI11_parrots)C++17
88 / 100
19 ms2680 KiB
    #include "encoder.h"
    #include "encoderlib.h"

    void encode(int N, int M[])
    {
        if(N<=32)
        {
            int a=0;
            for(int i=0; i<N; i++)
            {
                int y=M[i];
                for(int j=a;j<=a+7;j++)
                {
                    if(y%2==1)
                        send(j);
                    y/=2;
                }
                a+=8;
            }
        }
        else
        {
            int a=0;
            for(int i=0; i<N; i++)
            {
                int y=M[i];
                for(int j=a;j<=a+3;j++)
                {
                    for(int t=1;t<=y%4;t++)
                        send(j);
                    y/=4;
                }
                a+=4;
            }
        }
    }
    #include "decoder.h"
    #include "decoderlib.h"
    int v[300];
    void decode(int N, int L, int X[])
    {
        if(N<=32)
        {
            for(int i=0;i<=255;i++)
                v[i]=0;
            for(int i=0; i<L; i++)
                v[X[i]]++;
            int a=0;
            for(int i=0;i<N;i++)
            {
                int b=0;
                int p=1;
                for(int j=a;j<=a+7;j++)
                {
                    b+=p*v[j];
                    p*=2;
                }
                output(b);
                a+=8;
            }

        }
        else
        {
            for(int i=0;i<=255;i++)
                v[i]=0;
            for(int i=0; i<L; i++)
                v[X[i]]++;
            int a=0;
            for(int i=0;i<N;i++)
            {
                int b=0;
                int p=1;
                for(int j=a;j<=a+3;j++)
                {
                    b+=p*v[j];
                    p*=4;
                }
                output(b);
                a+=4;
            }
        }
    }
#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...