# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
131634 | zoooma13 | Broken Device (JOI17_broken_device) | C++14 | 59 ms | 3720 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "bits/stdc++.h"
#include "Annalib.h"
using namespace std;
void Anna( int N, long long X, int K, int P[] ){
srand(8465554);
vector <int> ord(N);
iota(ord.begin() ,ord.end() ,0);
random_shuffle(ord.begin() ,ord.end());
vector <bool> bad(N, false);
for(int i=0; i<K; i++)
bad[P[i]] = true;
int len = log2(X)+1 ,j = 0;
vector <bool> enc(N ,0);
for(int i=0; i<N-1; i++){
if(bad[ord[i]])
continue;
bool bit = bool(X&(1LL<<j));
if(!bit)
{ enc[ord[i]] = 1 ,enc[ord[i+1]] = 0; j++ ,i++; }
else if(bit && !bad[i+1])
{ enc[ord[i]] = 1 ,enc[ord[i+1]] = 1; j++ ,i++; }
if(j >= len)
break;
}
for(int i=0; i<N; i++)
Set(i ,enc[i]);
//assert(false);
}
#include "bits/stdc++.h"
#include "Brunolib.h"
using namespace std;
long long Bruno( int N, int A[] ){
srand(8465554);
vector <int> ord(N);
iota(ord.begin() ,ord.end() ,0);
random_shuffle(ord.begin() ,ord.end());
int j = 0;
long long X = 0LL;
for(int i=0; i<N-1; i++){
if(A[ord[i]])
{ X |= (1LL<<j)*A[ord[i+1]]; j++ ,i++; }
}
return X;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |