| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 | 
|---|---|---|---|---|---|---|---|
| 1154768 | WongYiKai | Broken Device (JOI17_broken_device) | C++20 | 18 ms | 1344 KiB | 
#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;
void Anna( int N, long long X, int K, int P[] ){
  int block[N+5],done[N+5];
  memset(block,0,sizeof(block));
  memset(done,0,sizeof(done));
  for (int i=0;i<K;i++) block[P[i]] = 1;
  vector<int> e;
  for (int i=0;i<N-1;i++){
    if (block[i]==0 && block[i+1]==0){
      e.push_back(i);
      i += 1;
    }
  }
  
  int ind = 0;
  while (X>0){
      if (ind>=e.size()) break;
    if (X&1){
      Set(e[ind],1);
      Set(e[ind]+1,1);
      done[e[ind]] = 1;
      done[e[ind]+1] = 1;
    }
    else{
      Set(e[ind],1);
      Set(e[ind]+1,0);
      done[e[ind]] = 1;
      done[e[ind]+1] = 1;
    }
    ind++;
    X = X>>1;
  }
  for (int i=0;i<N;i++){
    if (done[i]==0) Set(i,0);
  }
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
long long Bruno( int N, int A[] ){
  long long ans = 0;
  int curr = 0;
  for (int i=0;i<N-1;i++){
    if (A[i]==1){
      if (A[i+1]==1){
        ans += (1<<curr);
      }
      curr++;
      i++;
    }
  }
  return curr;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
