# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
396058 | Mlxa | Ancient Machine (JOI21_ancient_machine) | C++17 | 66 ms | 7644 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 "Anna.h"
#include <bits/stdc++.h>
using namespace std;
namespace anna {
static const int B = 20;
static const int BAD = (1 << B) - 1;
}
void Anna(int n, vector<char> s) {
using namespace anna;
for (int i = 0; i < n; ++i) {
Send(s[i] == 'Y');
}
int x = BAD, z = BAD;
for (int i = n; i--; ) {
if (s[i] == 'X') {
x = i;
}
}
for (int i = 0; i < n; ++i) {
if (s[i] == 'Z') {
z = i;
}
}
if (x > z || x == BAD || z == BAD) {
x = BAD, z = BAD;
}
for (int i = 0; i < B; ++i) {
Send((x >> i) & 1);
}
for (int i = 0; i < B; ++i) {
Send((z >> i) & 1);
}
}
#include "Bruno.h"
#include <bits/stdc++.h>
using namespace std;
namespace bruno {
static const int B = 20;
static const int BAD = (1 << B) - 1;
}
void Bruno(int n, int l, vector<int> a) {
using namespace bruno;
int x = 0, z = 0;
for (int i = 0; i < B; ++i) {
x |= a[n + i] << i;
z |= a[n + B + i] << i;
}
#ifdef LC
cout << "receive " << l << ": " << x << " " << z << endl;
for (int i = 0; i < n; ++i) {
cout << a[i];
}
cout << endl;
#endif
if (x == BAD || z == BAD) {
for (int i = 0; i < n; ++i) {
Remove(i);
}
return;
}
for (int i = 0; i < n; ++i) {
if (a[i]) {
Remove(i);
}
}
for (int i = 0; i < n; ++i) {
if (a[i] || i == x || i == z) {
continue;
}
Remove(i);
}
Remove(x);
Remove(z);
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |