Submission #1235413

#TimeUsernameProblemLanguageResultExecution timeMemory
1235413guanexBroken Device (JOI17_broken_device)C++20
45 / 100
24 ms1552 KiB
#include "Annalib.h"
#include<bits/stdc++.h>

using namespace std;

void Anna( int N, long long X, int K, int P[] ){
  vector<int> vec;
  for(int i = 0; i < 61; ++i){
    if(X & (1LL << i)){
      vec.push_back(1);
    }else{
      vec.push_back(0);
    }
  }
  while((int)vec.size() >= 1 && vec[(int)vec.size()-1] == 0){
    vec.pop_back();
  }
  vector<int> message(N, 1);
  for(int i = 0; i < K; ++i){
    message[P[i]] = 0;
  }
  int j = 0;
  for(int i = 0; i < N; ++i){
    if(vec[j] == 0){
      if(message[i] == 1){
        if(i % 2 == 0){
          Set(i, 1);
          j++;
        }else{
          Set(i, 0);
        }
      }else{
        Set(i, 0);
      }
    }else{
      if(message[i] == 1){
        if(i % 2 == 1){
          Set(i, 1);
          j++;
        }else{
          Set(i, 0);
        }
      }else{
        Set(i, 0);
      }
    }
  }
}
#include "Brunolib.h"
#include<bits/stdc++.h>

using namespace std;

long long Bruno( int N, int A[] ){
  long long ans = 0;
  long long pot = 1;
  for(int i = 0; i < N; ++i){
    if(A[i] == 1){
      if(i % 2 == 1){
        ans += pot;
      }
      pot *= 2;
    }
  }
  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...