Submission #1143694

#TimeUsernameProblemLanguageResultExecution timeMemory
1143694dpsaveslivesQuestion (Grader is different from the original contest) (CEOI14_question_grader)C++20
0 / 100
7074 ms40784 KiB
#include <bits/stdc++.h>
using namespace std;

int encode(int N, int x, int y){
    static vector<int> dp(921);
    if(dp[0] == 0){
      int cur = 0;
      for(int S = 1;S < (1<<12) && cur <= 920;++S){
          if(__builtin_popcount(S) == 6){
              dp[++cur] = S;
          }
      }
      dp[0] = -1; 
    }
    int ans;
    for(int i = 0;i<12;++i){
        if(dp[x]&(1<<i) && !(dp[y]&(1<<i))){
            ans = i;
        }
    }
    return ans+1;
}
#include <bits/stdc++.h>
using namespace std; 
int decode(int N, int Q, int H){
  vector<int> dp(921); 
  if(dp[0] == 0){
    int cur = 0;
    for(int S = 1;S < (1<<12) && cur <= 920;++S){
        if(__builtin_popcount(S) == 6){
            dp[++cur] = S;
        }
    }
    dp[0] = -1;   
  }
  if(dp[Q]&(1<<(H-1))){
    return 1; 
  }
  return 0; 
}
#Verdict Execution timeMemoryGrader output
Fetching results...