제출 #819429

#제출 시각아이디문제언어결과실행 시간메모리
819429Mohammed_AtalahShopping (JOI21_shopping)C++17
10 / 100
93 ms900 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...