Submission #934576

# Submission time Handle Problem Language Result Execution time Memory
934576 2024-02-27T16:02:02 Z KebabuVaikis15 Parrots (IOI11_parrots) C++14
81 / 100
3 ms 1336 KB
#include "encoder.h"
#include "encoderlib.h"

void encode(int N, int M[])
{
    if (N<=32)
    {
        for (int i=0; i<N; i++)
            for (int j=0; j<8; j++)
                if (M[i]&(1<<j))
                    send((j<<5)+i);
    }
    else
    {
        for (int i=0; i<N; i++)
            for (int j=0; j<4; j++)
                for (int k=0; k<(M[i]>>2*j)&3; k++)
                    send((j<<6)+i);
    }
}
#include "decoder.h"
#include "decoderlib.h"

void decode(int N, int L, int X[])
{
    int M[N]={0};
    if (N<=32)
        for (int i=0; i<L; i++)
            M[X[i]&((1<<5)-1)]+=(1<<(X[i]>>5));
    else
        for (int i=0; i<L; i++)
            M[X[i]&((1<<6)-1)]+=(1<<(2*(X[i]>>6)));
    for (int i:M)
        output(i);
}

Compilation message

encoder.cpp: In function 'void encode(int, int*)':
encoder.cpp:17:32: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
   17 |                 for (int k=0; k<(M[i]>>2*j)&3; k++)
      |                               ~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 796 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1312 KB Output is correct
2 Correct 1 ms 1316 KB Output is correct
3 Correct 1 ms 1312 KB Output is correct
4 Correct 1 ms 1140 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1044 KB Output is correct
2 Correct 1 ms 1316 KB Output is correct
3 Correct 1 ms 1316 KB Output is correct
4 Correct 1 ms 1320 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1056 KB Output is correct
2 Correct 1 ms 1312 KB Output is correct
3 Correct 1 ms 1316 KB Output is correct
4 Correct 3 ms 1332 KB Output is correct
5 Correct 3 ms 1332 KB Output is correct
6 Correct 3 ms 1336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 1320 KB partially correct P=8.000000
2 Partially correct 3 ms 1336 KB partially correct P=8.000000
3 Incorrect 0 ms 796 KB Error : Encoded message too long
4 Halted 0 ms 0 KB -