# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
954906 | Skywk | Broken Device (JOI17_broken_device) | C++17 | 2 ms | 856 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 "Annalib.h"
#include <bits/stdc++.h>
using namespace std;
void Anna(int N, long long X, int K, int P[]){
vector<int> A(N), B(N);
for(int i=0; i<K; i++){
B[P[i]] = 1;
}
vector<int> three;
for(int x = X; x > 0; x /= 3){
three.push_back(x % 3);
}
int sz = three.size();
for(int i=0, j=0; j < sz; i += 3){
vector<int> nb;
for(int k=0; k<3; k++) if(!B[i + k]) nb.push_back(i + k);
if(three[j] == 0){
if(nb.size() >= 1){
A[nb[0]] = 1;
j++;
}
}
else if(three[j] == 1){
if(nb.size() >= 2){
A[nb[0]] = A[nb[1]] = 1;
j++;
}
}
else{
if(nb.size() >= 3){
A[nb[0]] = A[nb[1]] = A[nb[2]] = 1;
j++;
}
}
}
for(int i=0; i<N; i++){
Set(i, A[i]);
}
}
#include "Brunolib.h"
long long Bruno(int N, int A[]){
long long X = 0;
long long thr = 1;
for(int i=0, j=0; i < N; i += 3){
int sum = A[i] + A[i + 1] + A[i + 2];
if(sum == 0) continue;
X += thr * (sum - 1);
thr *= 3;
}
return X;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |