Submission #1297941

#TimeUsernameProblemLanguageResultExecution timeMemory
1297941gesp3011v2Parrots (IOI11_parrots)C++20
0 / 100
2 ms844 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 = (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,N){
    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]);
}
#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...