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 <vector>
#include <bits/stdc++.h>
using namespace std;
namespace {
int N, L, R;
int cnt;
vector<int> status;
int res;
} // namespace
void InitA(int N, int L, int R) {
::N = N;
::L = L;
::R = R;
res = L;
cnt = 0;
int l = L;
for (int i = 0; i <= 14; i ++) {
if ((l >> i) & 1) {
SendA(1);
} else {
SendA(0);
}
}
}
void getans() {
for (int i = L; i <= R; i ++) {
if (status[i]) {
res = i;
}
}
}
void ReceiveA(bool x) {
// cout << x << ' ';
status.push_back(x);
cnt++;
if (cnt == N) {
getans();
}
}
int Answer() {
return res;
}
#include "Bruno.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;
namespace {
int N;
vector<int> nums;
int cnt = 0;
int L = 0;
}
void minel() {
for (int i = 0; i < L; i ++) {
SendB(0);
}
int mn = nums[L];
SendB(1);
for (int i = L + 1; i < N; i ++) {
if (nums[i] < mn) {
mn = nums[i];
SendB(1);
} else {
SendB(0);
}
}
}
void InitB(int N, std::vector<int> P) {
::N = N;
nums = P;
}
void ReceiveB(bool y) {
if (y)
L += pow(2, cnt);
cnt++;
if (cnt == 15) {
minel();
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |