Submission #207558

#TimeUsernameProblemLanguageResultExecution timeMemory
207558autumn_eelBroken Device (JOI17_broken_device)C++14
51 / 100
67 ms3312 KiB
#include "Annalib.h"
#include <bits/stdc++.h>
#define rep(i,n)for(int i=0;i<(n);i++)
using namespace std;
typedef long long ll;

bool b[160],d[160];

void Anna(int N,ll X,int K,int P[]){
	memset(b,0,sizeof(b));
	memset(d,0,sizeof(d));
	rep(i,K){
		b[P[i]]=1;
	}
	int t=59;
	int i=0;
	while(i<N-2){
		if(!b[i]&&!b[i+1]&&!b[i+2]){
			d[i]=1;d[i+1]=(X>>t&1);t--;d[i+2]=(X>>t&1);
			if(t==0)break;
			t--;
			i+=3;
		}
		else i++;
	}
	rep(i,N)Set(i,d[i]);
}
#include "Brunolib.h"
#include <bits/stdc++.h>
#define rep(i,n)for(int i=0;i<(n);i++)
using namespace std;
typedef long long ll;

ll Bruno(int N,int A[]){
	ll ans=0;
	int i=0;
	while(i<N){
		if(A[i]==1){
			ans<<=1;
			ans+=A[i+1];
			ans<<=1;
			ans+=A[i+2];
			i+=3;
		}
		else i++;
	}
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...