# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1025079 | TraianDanciu | Broken Device (JOI17_broken_device) | C++17 | 30 ms | 3084 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 <algorithm>
#include <random>
#include <stdio.h>
#define MAXN 150
#define SEED 53702439
#define BAZA 3
void Anna(int n, long long x, int k, int p[]) {
int i, cif, ok, poz[MAXN];
std::mt19937 shuffler(SEED);
char sterg[MAXN];
for(i = 0; i < n; i++) {
poz[i] = i;
sterg[i] = 0;
}
std::shuffle(poz, poz + n, shuffler);
for(i = 0; i < k; i++) {
sterg[p[i]] = 1;
}
for(i = 0; i < n / 2; i++) {
cif = x % BAZA;
// 00 - nu folosim
// 01 - cifra 0
// 10 - cifra 1
// 11 - cifra 2
ok = 0;
if(cif == 0 && sterg[poz[2 * i + 1]] == 0) {
Set(poz[2 * i], 0);
Set(poz[2 * i + 1], 1);
ok = 1;
} else if(cif == 1 && sterg[poz[2 * i]] == 0) {
Set(poz[2 * i], 1);
Set(poz[2 * i + 1], 0);
ok = 1;
} else if(cif == 2 && sterg[poz[2 * i]] == 0 && sterg[poz[2 * i + 1]] == 0) {
Set(poz[2 * i], 1);
Set(poz[2 * i + 1], 1);
ok = 1;
}
if(ok == 0) {
Set(poz[2 * i], 0);
Set(poz[2 * i + 1], 0);
} else {
x /= BAZA;
}
}
}
#include "Brunolib.h"
#include <algorithm>
#include <random>
#define SEED 53702439
#define MAXN 150
long long Bruno(int n, int a[]) {
int i, poz[MAXN];
long long p3, x;
std::mt19937 shuffler(SEED);
for(i = 0; i < n; i++) {
poz[i] = i;
}
std::shuffle(poz, poz + n, shuffler);
p3 = 1;
x = 0;
for(i = 0; i < MAXN / 2; i++) {
// 00 - nu folosim
// 01 - cifra 0
// 10 - cifra 1
// 11 - cifra 2
if(a[poz[2 * i]] == 1) {
x += p3;
if(a[poz[2 * i + 1]] == 1) {
x += p3;
}
}
if(a[poz[2 * i]] || a[poz[2 * i + 1]]) {
p3 *= 3;
}
}
return x;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |