Submission #794919

#TimeUsernameProblemLanguageResultExecution timeMemory
794919khshg앵무새 (IOI11_parrots)C++14
0 / 100
8 ms1356 KiB
#include "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>
using namespace std;
 
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 + (j << 5));
			}
		}
	}

    }
	for(int i = 0; i < N; ++i) {
		for(int j = 0; j < 4; ++j) {
			int B = (M[i] >> (6 - 2 * j));
			B &= 3;
			while(B--) send(j + (i << 2));
		}
	}
}
#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<int> ans(N);
	for(int i = 0; i < L; ++i) {
		ans[X[i] % (1 << 5)] ^= (1 << (X[i] >> 5));
	}
	for(int i = 0; i < N; ++i) {
		output(ans[i]);
	}
	return;
	}
	vector<int> ans(N);
	for(int i = 0; i < L; ++i) {
		ans[(X[i] >> 2)] += (1 << (2 * (3 - X[i] & 3)));
	}
	for(int i = 0; i < N; ++i) {
		output(ans[i]);
	}
}

Compilation message (stderr)

decoder.cpp: In function 'void decode(int, int, int*)':
decoder.cpp:19:37: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
   19 |   ans[(X[i] >> 2)] += (1 << (2 * (3 - X[i] & 3)));
      |                                   ~~^~~~~~
#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...