Submission #1297931

#TimeUsernameProblemLanguageResultExecution timeMemory
1297931gesp3011v2Parrots (IOI11_parrots)C++20
24 / 100
7 ms840 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[]){
  int idx=0;
  rep(i,N){
      rep(j,8){
          int now=idx++;
          int state=0;
          F(k,j,j+2)state+=(1<<(k-j))*(M[i]>>k&1);
          rep(k,state)send(now);
          j++;
      }
  }
}
#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> res(N);
  map<int, int> mp;
  {
    int idx = 0;
    rep(i,N){
     rep(j,8){
        mp[idx]=0;
        idx++;
        j++;
      }
    }
  }
 rep(i,L)mp[X[i]]++;
  int bit = 1, idx = 0;
  for (auto& [x,cnt]:mp) {
    res[idx] += bit*cnt;
    bit<<=2;
    // cout << idx << " " << bit << " " << cnt << "\n";
    if(bit==256) {
      idx++;
      bit=1;
    }
  }
  rep(i,N)output(res[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...