Submission #696512

#TimeUsernameProblemLanguageResultExecution timeMemory
696512pls33Parrots (IOI11_parrots)C++17
90 / 100
8 ms1368 KiB
#include <bits/stdc++.h> using namespace std; //?????????????????????????? #ifndef _AAAAAAAAA #include "encoder.h" #include "encoderlib.h" #else void decode(int N, int L, int X[]); void encode(int N, int M[]); void output(int b); void send(int a); #endif #pragma region dalykai using p32 = pair<int, int>; using p32u = pair<uint32_t, uint32_t>; using p64 = pair<int64_t, int64_t>; using p64u = pair<uint64_t, uint64_t>; using vi16 = vector<int16_t>; using vi16u = vector<uint16_t>; using vi32 = vector<int>; using vi32u = vector<uint32_t>; using vi64 = vector<int64_t>; using vi64u = vector<uint64_t>; using vp32 = vector<p32>; using vp32u = vector<p32u>; using vp64 = vector<p64>; using vp64u = vector<p64u>; using vvi32 = vector<vi32>; using vvi32u = vector<vi32u>; using vvi64 = vector<vi64>; using vvi64u = vector<vi64u>; using vvp32 = vector<vp32>; using vvp32u = vector<vp32u>; using vvp64 = vector<vp64>; using vvp64u = vector<vp64u>; #pragma endregion using _bit = bitset<512>; // miau const _bit noise("00100010001000000000000000000000000000000001000000001000000000000000000000001000000000100001000000000010001000000100000001100001000000000010000000000000001001000000000100101000000000000000000100000000000100000000001000001000010000000010000000000000000010000000000000000000000000000000100100000000001010000001010100000010100000000000000100010010010001000100000000000000000101000000000010110000100000100100100000000000000000000000000000000000000000100000100000000000001100000010000010000000000000000100000100000000"); void encode(int N, int M[]) { _bit a; for (int i = 0; i < N; i++) { a |= M[i]; if (i < N - 1) { a <<= 8; } } for (int i = 0; i < min(512, 8 * N); i++) { a[i] = a[i] ^ noise[i]; } for (int i = 0; i < 256; i++) { int count = a[i]; count |= (int)a[i + 256] << 1; for (int j = 0; j < count; j++) { send(i); } } }
#include <bits/stdc++.h> using namespace std; //?????????????????????????? #ifndef _AAAAAAAAA #include "decoder.h" #include "decoderlib.h" #else void decode(int N, int L, int X[]); void encode(int N, int M[]); void output(int b); void send(int a); #endif #pragma region dalykai using p32 = pair<int, int>; using p32u = pair<uint32_t, uint32_t>; using p64 = pair<int64_t, int64_t>; using p64u = pair<uint64_t, uint64_t>; using vi16 = vector<int16_t>; using vi16u = vector<uint16_t>; using vi32 = vector<int>; using vi32u = vector<uint32_t>; using vi64 = vector<int64_t>; using vi64u = vector<uint64_t>; using vp32 = vector<p32>; using vp32u = vector<p32u>; using vp64 = vector<p64>; using vp64u = vector<p64u>; using vvi32 = vector<vi32>; using vvi32u = vector<vi32u>; using vvi64 = vector<vi64>; using vvi64u = vector<vi64u>; using vvp32 = vector<vp32>; using vvp32u = vector<vp32u>; using vvp64 = vector<vp64>; using vvp64u = vector<vp64u>; #pragma endregion using _bit = bitset<512>; // uaim const _bit noise("00100010001000000000000000000000000000000001000000001000000000000000000000001000000000100001000000000010001000000100000001100001000000000010000000000000001001000000000100101000000000000000000100000000000100000000001000001000010000000010000000000000000010000000000000000000000000000000100100000000001010000001010100000010100000000000000100010010010001000100000000000000000101000000000010110000100000100100100000000000000000000000000000000000000000100000100000000000001100000010000010000000000000000100000100000000"); void decode(int N, int L, int X[]) { _bit a; vi16 count(256); for (int i = 0; i < L; i++) { count[X[i]]++; } for (int i = 0; i < 256; i++) { a[i] = bool(count[i] & 1) ^ noise[i]; a[i + 256] = bool(count[i] & 2) ^ noise[i + 256]; } vi32 things_a; for (int i = 0; i < N; i++) { int val = 0; for (int j = 0; j < 8; j++) { val |= a[j] << j; } things_a.push_back(val); a >>= 8; } for (int i = (int)things_a.size() - 1; i >= 0; i--) { output(things_a[i]); } }

Compilation message (stderr)

encoder.cpp:14: warning: ignoring '#pragma region dalykai' [-Wunknown-pragmas]
   14 | #pragma region dalykai
      | 
encoder.cpp:37: warning: ignoring '#pragma endregion ' [-Wunknown-pragmas]
   37 | #pragma endregion
      | 

decoder.cpp:14: warning: ignoring '#pragma region dalykai' [-Wunknown-pragmas]
   14 | #pragma region dalykai
      | 
decoder.cpp:37: warning: ignoring '#pragma endregion ' [-Wunknown-pragmas]
   37 | #pragma endregion
      |
#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...