Submission #313385

#TimeUsernameProblemLanguageResultExecution timeMemory
313385biggBroken Device (JOI17_broken_device)C++14
41 / 100
50 ms3328 KiB
#include<bits/stdc++.h>
#include "Annalib.h"
using namespace std;
typedef long long ll;
void Anna( int N, long long X, int K, int P[] ){
  int marc[200], isbit[200];
	memset(marc, 0, sizeof(marc));
	memset(isbit, 0, sizeof(isbit));
	int itlista = 0;
	for(int i = 0; i < K; i++) marc[P[i]] = 1;
	for(ll itreal = 0; itreal <= 60; itreal++){
		while((marc[itlista] || marc[itlista + 1]) && itlista < N - 2)	itlista++;
		isbit[itlista] = 1;
		itlista++;
		if(itlista > N - 1) break;
		isbit[itlista] = ((1LL<<itreal) & X) ? 1 : 0;
		//printf("%d\n", itlista );
		itlista++;
		if(itlista > N-1) break;
	}
	for(int i = 0; i < N; i++) Set(i, isbit[i]);
}
#include "Brunolib.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
long long Bruno( int N, int A[] ){
  	ll itreal = 0;
	ll resp = 0;
	for(int ilista = 0; ilista < N - 1&& itreal <= 60; ilista++ ){
		if(!A[ilista]) continue;
		ilista++;
		//printf("%d %d\n",ilista, A[ilista] );
		resp |= ((long long) A[ilista] << itreal);
		itreal++;
	}
	return resp;
}
#Verdict Execution timeMemoryGrader output
Fetching results...