제출 #231958

#제출 시각아이디문제언어결과실행 시간메모리
231958dvdg6566Broken Device (JOI17_broken_device)C++14
41 / 100
52 ms3328 KiB
#include "Annalib.h"
#include<bits/stdc++.h>
using namespace std;
int R[150];
int B[150];
typedef long long ll;

void Anna( int N, long long X, int K, int P[] ){
	assert(N==150);
	memset(R,0,sizeof(R));
	memset(B,0,sizeof(B));
	for(int i=0;i<K;++i){
		B[P[i]]=1;
	}
	ll a=0;
	for(int i=0;i<N/2;++i){
		// if(B[i]||B[i+N/2])continue;
		ll x=(X&(1LL<<a))>0;
		if(!x&&B[i])continue;
		if(x&&B[i+N/2])continue;
		R[i]=1;
		R[i+N/2]=x;
		++a;
		if(a>60)break;
	}
  for( int i = 0; i < N; i++ ){
  	// cout<<R[i];
    Set( i, R[i] );
  }
}
#include "Brunolib.h"
using namespace std;
typedef long long ll;

long long Bruno( int N, int A[] ){
  ll ans=0;
  ll a=0;
  for(int i=0;i<N/2;++i){
  	if(A[i]!=1&&A[i+N/2]!=1)continue;
  	ans+=A[i+N/2]*(1LL<<a);
  	++a;
  	if(a>60)break;
  }
  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...