Submission #919927

#TimeUsernameProblemLanguageResultExecution timeMemory
919927LalicParrots (IOI11_parrots)C++17
88 / 100
7 ms1380 KiB
#include <bits/stdc++.h>
#include "encoder.h"
#include "encoderlib.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]&(1<<j))) continue;
				
				int id=j, pos=i;
				send(id+(1<<3)*pos);
			}
		}
	}
	else{
		for(int i=0;i<N;i++){
			for(int j=0;j<8;j++){
				if(!(M[i]&(1<<j))) continue;
				
				int pos=i, id=j>>1;
				if(j&1) send(id+(1<<2)*pos);
				send(id+(1<<2)*pos);
			}
		}
	}
}
#include <bits/stdc++.h>
#include "decoder.h"
#include "decoderlib.h"

using namespace std;

void decode(int N, int L, int X[])
{
	vector<int> arr(N, 0);
	
	for(int i=0;i<L;i++){
		if(N<=32){
			int bit=X[i]%8, pos=X[i]/8;
			arr[pos]+=(1<<bit);
		}
		else{
			int bit=2*(X[i]%4), pos=X[i]/4;
			arr[pos]+=(1<<bit);
		}
	}
	
	for(auto u : arr) output(u);
}
#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...