Submission #13488

#TimeUsernameProblemLanguageResultExecution timeMemory
13488aintaParrots (IOI11_parrots)C++98
0 / 100
115 ms79944 KiB
#include "encoder.h" #include "encoderlib.h" int P[271][257][72], T[300]; void encode(int N, int M[]) { int i, j, L, ck, k; for (k = 1; k <= 256; k++){ P[0][k][0] = 1; for (i = 1; i < 270; i++){ for (j = 0; j < 70; j++){ T[j] += P[i - 1][k][j] * (k + i - 1); T[j + 1] += T[j] >> 8; T[j] &= 255; } for (j = 70; j >= 0; j--){ if (T[j] % i){ T[j - 1] += ((T[j] % i) << 8); } T[j] /= i; } for (j = 0; j <= 70; j++){ if (T[j])L = j; P[i][k][j] = T[j]; T[j] = 0; } if (k == 256 && L >= N)break; } if (i != 270)break; } L = i; int pv = 0; for (i = L - 1; i >= 0; i--){ for (j = 0; j <= 70; j++)T[j] = M[j]; while (1){ ck = 0; for (j = 70; j >= 0; j--){ if (!ck && T[j] - P[i][256-pv][j] != 0){ if (T[j] < P[i][256-pv][j])break; ck = 1; } T[j] -= P[i][256-pv][j]; } if (j != -1)break; for (j = 0; j < 70; j++){ if (T[j] < 0)T[j + 1]--, T[j] += 256; } pv++; } for (j = 0; j <= 80; j++)M[j] = T[j]; send(pv); } }
#include "decoder.h" #include "decoderlib.h" #include<stdio.h> #include<algorithm> using namespace std; int P[271][257][72], T[300], Res[300]; void decode(int N, int L, int X[]) { sort(X, X + L); int i, j, k, pv = 0; for (k = 1; k <= 256; k++){ P[0][k][0] = 1; for (i = 1; i <= L; i++){ for (j = 0; j < 70; j++){ T[j] += P[i - 1][k][j] * (255 + i); T[j + 1] += T[j] >> 8; T[j] &= 255; } for (j = 70; j >= 0; j--){ if (T[j] % i){ T[j - 1] += ((T[j] % i) << 8); } T[j] /= i; } for (j = 0; j <= 70; j++){ if (T[j])L = j; P[i][k][j] = T[j]; T[j] = 0; } } } for (i = 0; i < L; i++){ while (pv < X[i]){ for (j = 0; j <= 70; j++){ Res[j] += P[L - i - 1][256 - pv][j]; } pv++; } } for (i = 0; i <= 70; i++){ Res[i + 1] += (Res[i] >> 8); Res[i] &= 255; } for (i = 0; i < N; i++)output(Res[i]); }

Compilation message (stderr)

encoder.cpp: In function 'void encode(int, int*)':
encoder.cpp:26:22: warning: 'L' may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (k == 256 && L >= N)break;
                    ~~^~~~
#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...