Submission #301787

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
3017872020-09-18 08:08:14tatyamSaveit (IOI10_saveit)C++17
100 / 100
689 ms11504 KiB
#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3fffffff;
template<class T> bool chmin(T& a, const T& b){ if(a > b){ a = b; return 1; } return 0; }
void encode_bit(int b);
void encode(int N, int H, int P, int A[], int B[]);
void encode_num(int num, int size){
for(int i = size; i--; ) encode_bit(num >> i & 1);
}
using BigInt = array<int, 1585>; // 1000 * log_2(3) = 1585
void encode_BigInt(vector<int> B){ // ternary to binary
BigInt a;
a.fill(0);
reverse(B.begin(), B.end());
for(int b : B){
for(int i = a.size() - 1; i--; ) a[i + 1] += a[i];
if(b & 1) a[0]++;
if(b & 2) a[1]++;
for(int i = 0; i < a.size() - 1; i++){
a[i + 1] += a[i] >> 1;
a[i] &= 1;
}
}
for(int i : a) encode_bit(i);
}
void encode(int N, int H, int P, int A[], int B[]){
vector<vector<int>> g(N);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

encoder.cpp: In function 'void encode_BigInt(std::vector<int>)':
encoder.cpp:22:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::array<int, 1585>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |         for(int i = 0; i < a.size() - 1; i++){
      |                        ~~^~~~~~~~~~~~~~

decoder.cpp: In function 'std::vector<int> decode_BigInt(int)':
decoder.cpp:25:51: warning: comparison of integer expressions of different signedness: 'int' and 'std::array<int, 1585>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |         for(int i = a.size() - 1; i--; ) if(i + 2 < a.size() && a[i + 2] || a[i + 1] && a[i]){
      |                                             ~~~~~~^~~~~~~~~~
decoder.cpp:25:62: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   25 |         for(int i = a.size() - 1; i--; ) if(i + 2 < a.size() && a[i + 2] || a[i + 1] && a[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...