제출 #960308

#제출 시각아이디문제언어결과실행 시간메모리
960308penguin133앵무새 (IOI11_parrots)C++17
88 / 100
9 ms1828 KiB
#include <bits/stdc++.h> using namespace std; //#define int long long #define pi pair<int, int> #define pii pair<int, pi> #define fi first #define se second #ifdef _WIN32 #define getchar_unlocked _getchar_nolock #endif mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); #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] >> j & 1){ send(i * 8 + j); } } } } else{ for(int i = 0; i < N; i++){ for(int j = 0; j < 8; j++){ if(M[i] >> j & 1){ if(j >= 4){ send(i * 4 + j % 4); send(i * 4 + j % 4); } else{ send(i * 4 + j % 4); } } } } } }
#include <bits/stdc++.h> using namespace std; //#define int long long #define pi pair<int, int> #define pii pair<int, pi> #define fi first #define se second #ifdef _WIN32 #define getchar_unlocked _getchar_nolock #endif mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); #include "decoder.h" #include "decoderlib.h" void decode(int N, int L, int X[]) { int ans[300] = {0}; if(N <= 32){ for(int i = 0; i < L; i++){ int t = X[i] / 8, t1 = X[i] % 8; ans[t] += (1<<t1); } for(int i = 0; i < N; i++)output(ans[i]); } else{ map <int, int> mp; for(int i = 0; i < L; i++){ mp[X[i]]++; } for(auto [i, j] : mp){ int x = i / 4, y = i % 4; if(j == 3){ ans[x] += (1<<y); ans[x] += (1 << (y + 4)); } else if(j == 2){ ans[x] += (1 << (y + 4)); } else ans[x] += (1 << y); } for(int i = 0; i < N; i++)output(ans[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...