Submission #1319689

#TimeUsernameProblemLanguageResultExecution timeMemory
1319689PlayVoltzBroken Device (JOI17_broken_device)C++20
0 / 100
18 ms1556 KiB
#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define fi first
#define se second

void Anna(int n, long long x, int k, int p[]){
	vector<bool> die(n, 0), res(n, 0);
	for (int i=0; i<k; ++i)die[p[i]]=1;
	long long b=0;
	for (int i=0; i<n/2&&b<60; ++i){
		if (die[i]&&die[i+n/2])continue;
		if (!die[i]&&!die[i+n/2]){
			res[i]=1;
			if ((1ll<<b)&x)res[i+n/2]=1;
			++b;
		}
		else if (die[i]){
			if (!((1ll<<b)&x))res[i+n/2]=1, ++b;
		}
		else{
			if ((1ll<<b)&x)res[i]=1, ++b;
		}
	}
	for (int i=0; i<n; ++i)Set(i, res[i]);
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define fi first
#define se second

long long Bruno(int n, int vect[]){
	long long res=0, b=0;
	for (int i=0; i<n/2&&b<60; ++i){
		if (vect[i]&&vect[i+n/2])res+=(1ll<<b), ++b;
		else if (vect[i])res+=(1ll<<b), ++b;
		else if (vect[i+n/2])++b;
	}
	return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...