# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1078415 | anton | Broken Device (JOI17_broken_device) | C++17 | 28 ms | 2608 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;
#define ll long long
int N;
ll X;
void Anna( int _N, long long _X, int K, int P[] ){
N = _N;
X = _X;
vector<int> info_bits;
while(X>0){
info_bits.push_back(X%2LL);
X/=2LL;
}
/*for(auto e: info_bits){
cout<<e<<" ";
}
cout<<endl;*/
vector<bool> broken(N, false);
for(int i = 0; i<K; i++){
broken[P[i]] = true;
}
vector<int> res(N);
auto mySet = [&](int pos, int val){
if(pos<N){
res[pos] = val;
}
};
int cur_id = 0;
for(int i = 0; i<info_bits.size(); i++){
while(broken[cur_id] || broken[cur_id+1]){
cur_id++;
}
mySet(cur_id, 1);
mySet(cur_id+1, info_bits[i]);
cur_id+=2;
}
for(int i = 0; i<N; i++){
Set(i, res[i]);
}
}
#include "Brunolib.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long
long long Bruno( int N, int A[] ){
vector<ll> bits;
for(int i = 0; i<N; i++){
if(A[i]>0){
bits.push_back(A[i+1]);
i++;
}
}
ll res= 0;
reverse(bits.begin(), bits.end());
/*for(auto e: bits){
cout<<e<<" ";
}
cout<<endl;*/
for(ll i = 0; i<bits.size(); i++){
res = res * 2LL + bits[i];
}
return res;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |