제출 #310788

#제출 시각아이디문제언어결과실행 시간메모리
310788LucaDantasParrots (IOI11_parrots)C++17
81 / 100
4 ms1792 KiB
#include "encoder.h" #include "encoderlib.h" #include<cstdio> #include<cstring> int colocar[600]; void encode(int N, int M[]) { memset(colocar, 0, sizeof colocar); int ptr = 0; for(int i = 0; i < N; i++) { for(int bit = 0; bit < 8; bit++) if(M[i]&(1<<bit)) colocar[8*i+bit] = 1, ptr++; } if(ptr > 256) { send(0), send(0); for(int i = 0; i < 512; i++) colocar[i] = !colocar[i]; } for (int i = 0; i < 512; i++) if(colocar[i]) send(i); }
#include "decoder.h" #include "decoderlib.h" #include<cstdio> #include<cstring> #include<algorithm> int BIT[10000]; void decode(int N, int L, int X[]) { std::sort(X, X+L); int start = 0, ok = 1; if(L > 1 && X[1] == 0) start = 2, ok = 0; memset(BIT, 0, sizeof BIT); for(int i = start; i < L; i++) BIT[X[i]] = 1; for(int i = 0; i < N; i++) { int here = 0; for(int bit = 0; bit < 8; bit++) { if(BIT[8*i+bit] == ok) here += (1 << bit); } output(here); } }
#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...