# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1151433 | gustavo_d | Broken Device (JOI17_broken_device) | C++20 | 12 ms | 1600 KiB |
#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;
void Anna(int n, long long X, int K, int P[]){
bool blocked[n];
for (int i=0; i<n; i++) blocked[i] = false;
for (int i=0; i<K; i++) {
blocked[P[i]] = true;
}
bool hsb = false;
vector<bool> bits;
for (int b=62; b>=0; b--) {
if (((1LL << b) & X) != 0) {
hsb = true;
}
if (hsb) bits.push_back(((1LL << b) & X) != 0);
}
int pt_mask = 0;
// cout << "n=" << n << endl;
for (int i = 0; i+1 < n; i+=2){
if (
!blocked[i] and !blocked[i+1]
and pt_mask < (int)bits.size()
) {
Set(i, bits[pt_mask++]);
Set(i+1, 1);
} else {
Set(i, 0); Set(i+1, 0);
}
// cout << i << ' ' << i +1 << ' ' << n << endl;
}
if (n&1) Set(n-1, 0);
cout << "enviei " << bitset<60>(X) << endl;
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
long long Bruno(int n, int a[]){
vector<bool> bits;
// for (int i=0; i<n; i++) cout << a[i] << ' ';
// cout << endl;
for (int i=0; i+1<n; i+=2) {
if (a[i+1] == 1) bits.push_back(a[i]);
}
ll x = 0;
reverse(bits.begin(), bits.end());
for (int b=0; b<(int)bits.size(); b++) {
if (bits[b]) {
x += (1LL << b);
// cout << x << endl;
}
}
cout << "Recebi " << bitset<60>(x) << endl;
return x;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |