# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1215502 | Gray | Broken Device (JOI17_broken_device) | C++20 | 0 ms | 320 KiB |
#include "Annalib.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;
void Anna( int N, long long X, int K, int P[] ){
map<ll, ll> unfree;
for( int i = 0; i < K; i++ ){
unfree[P[i]]=1;
Set( i, 0 );
}
vector<ll> nums;
for (ll i=0; i<60; i++){
if ((1ull<<i)&X) nums.push_back(1);
else nums.push_back(0);
}
for (ll i=1; i<=N and !nums.empty(); i+=2){
if (unfree.count(i) or unfree.count(i-1)){
Set(i, 0); Set(i-1, 0);
}else{
Set(i, 1); Set(i-1, nums.back());
nums.pop_back();
}
}
}
#include "Brunolib.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;
long long Bruno( int N, int A[] ){
vector<ll> nums;
for (ll i=1; i<N and nums.size()<60; i+=2){
if (A[i]==0 and A[i-1]==0) continue;
else{
nums.push_back(A[i-1]);
}
}
ll x=0;
for (ll i=0; i<60; i++){
if (nums[i]) x+=(1ull<<i);
}
return x;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |