Submission #67272

#TimeUsernameProblemLanguageResultExecution timeMemory
67272RezwanArefin01Parrots (IOI11_parrots)C++17
81 / 100
10 ms2272 KiB
#include "encoder.h" #include "encoderlib.h" #include <bits/stdc++.h> using namespace std; void encode(int N, int M[]) { if(N <= 32) { for(int i = 0; i < 8 * N; i++) { int c = (M[i / 8] >> (7 - i % 8)) & 1; if(c) send(i); } } else { vector<int> v; int one = 0, zero = 0; for(int i = 0; i < 4 * N; i++) { int c = M[i / 4] >> ((3 - (i % 4)) * 2) & 3; for(int j = 0; j < c; j++) { v.push_back(i); one += i; zero += 3 - i; } } if(zero < one) { for(int &x : v) send(3 - x); } else { for(int &x : v) send(x); } } }
#include "decoder.h" #include "decoderlib.h" #include <bits/stdc++.h> using namespace std; void decode(int N, int L, int X[]) { int a[N * 8]; memset(a, 0, sizeof a); if(N <= 32) { for(int i = 0; i < L; i++) a[X[i]] = 1; for(int i = 0; i < N; i++) { int num = 0; for(int j = i * 8; j < (i + 1) * 8; j++) num = num * 2 + a[j]; output(num); } } else { int zero = 0; if(a[255] > 3) { a[255] -= 3; for(int i = 0; i < L; i++) X[i] = 3 - X[i]; } for(int i = 0; i < L; i++) a[X[i]]++; for(int i = 0; i < N; i++) { int num = 0; for(int j = i * 4; j < (i + 1) * 4; j++) num = num * 4 + a[j]; output(num); } } }

Compilation message (stderr)

decoder.cpp: In function 'void decode(int, int, int*)':
decoder.cpp:19:13: warning: unused variable 'zero' [-Wunused-variable]
         int zero = 0;
             ^~~~
#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...