| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1297940 | gesp3011v2 | Parrots (IOI11_parrots) | C++20 | 0 ms | 0 KiB |
#include "encoder.h"
#include "encoderlib.h"
#include "bits/stdc++.h"
#define rep(i, n) for(int i = 0, i##__n = (int)(n); i < i##__n; ++i)
#define F(i,l,r) for(int i=l,i_end=r;i<i_end;++i)
#define FR(i,l,r) for(int i=l,i_end=r;i>=i_end;--i)
using namespace std;
void encode(int N, int M[]){
rep(i,8){
int val = 0;
rep(j,3){
if(i&(1<<j))val+=(1<<j);
}
rep(j,N){
int cur = val;
rep(k,4){
if(j&(1<<k))cur+=(1<<(k+3));
}
if (M[j]&(1<<i)) {
cur+=(1<<7);
}
send(cur);
}
}
}
#include "decoder.h"
#include "decoderlib.h"
#include "bits/stdc++.h"
#define rep(i, n) for(int i = 0, i##__n = (int)(n); i < i##__n; ++i)
#define F(i,l,r) for(int i=l,i_end=r;i<i_end;++i)
#define FR(i,l,r) for(int i=l,i_end=r;i>=i_end;--i)
using namespace std;
void decode(int N, int L, int X[]){
vector<int> val(N);
rep(i,M){
int k=0;
rep(j,3){
if (X[i]&(1<<j))k+=(1<<j);
}
int idx=0;
F(j,3,7){
if(X[i]&(1<<j))idx+=(1<<(j-3));
}
if(X[i]&(1<<7))val[idx]+=(1<<k);
}
rep(i,N)output(val[i]);
}
