제출 #952492

#제출 시각아이디문제언어결과실행 시간메모리
952492SmuggingSpun앵무새 (IOI11_parrots)C++14
0 / 100
1 ms1052 KiB
#include "encoder.h" #include "encoderlib.h" #include<bits/stdc++.h> using namespace std; typedef long long ll; ll dp[35][27]; void encode(int N, int M[]){ memset(dp, 0, sizeof(dp)); for(int i = 0; i < 27; i++){ dp[0][i] = 1; } for(int i = 1; i < 35; i++){ for(int j = 0; j < 27; j++){ if(j > 0){ dp[i][j] = dp[i][j - 1]; } dp[i][j] += dp[i - 1][j]; } } for(int i = 0, j, p = 0; i < N; i += 4){ ll value = 0; for(j = 0; j < 7 && i + j < N; j++){ value |= M[i + j] << (j << 3); } p += 27; } }
#include "decoder.h" #include "decoderlib.h" #include<bits/stdc++.h> using namespace std; void decode(int N, int L, int X[]){ if(N <= 32){ vector<bool>bit(N << 3, false); for(int i = 0; i < L; i++){ bit[X[i]] = true; } for(int i = 0; i < N; i++){ int ans = 0; for(int j = 0; j < 8; j++){ if(bit[(i << 3) + j]){ ans |= 1 << j; } } output(ans); } return; } vector<int>cnt(N << 2, 0); for(int i = 0; i < L; i++){ cnt[X[i]]++; } for(int i = 0; i < N; i++){ int ans = 0; for(int j = 0; j < 4; j++){ ans += (1 << (j << 1)) * cnt[(i << 2) + j]; } output(ans); } }
#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...