Submission #1140352

#TimeUsernameProblemLanguageResultExecution timeMemory
1140352efishelParrots (IOI11_parrots)C++17
81 / 100
2 ms840 KiB
#include "encoder.h" #include "encoderlib.h" #include <bits/stdc++.h> using namespace std; using ll = long long; using vll = vector <ll>; using ii = pair <ll, ll>; using vii = vector <ii>; void encode (int n, int m[]) { auto f = [&](ll id) { return m[id/8]>>(id%8)&1; }; ll cou0 = 0, cou1 = 0; for (ll id = 0; id < 8*n; id++) { (f(id) ? cou1 : cou0)++; } if (cou0 <= cou1) { for (ll id = 0; id < 8*n; id++) { if (!f(id)) send(id); } send(0); send(0); } else { for (ll id = 0; id < 8*n; id++) { if (f(id)) send(id); } } }
#include "decoder.h" #include "decoderlib.h" #include <bits/stdc++.h> using namespace std; using ll = long long; using vll = vector <ll>; using ii = pair <ll, ll>; using vii = vector <ii>; void decode (int n, int l, int x[]) { vll uh; auto f = [&](ll id) { uh[id/8] ^= 1<<(id%8); }; if (count(x, x+l, 0) >= 2) { // cou0 <= cou1 uh = vll(n, 0b11111111); for (ll i = 0; i < l; i++) { f(x[i]); } } else { uh = vll(n, 0b00000000); for (ll i = 0; i < l; i++) { f(x[i]); } } for (ll i = 0; i < n; i++) { output(uh[i]); } }
#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...